0

これは機能しません。その理由はわかりません。

look_up  <- data.frame(flat=c("160","130"),
                   street=c("stamford%20street", "doddington%20grove"),
                   city = c("London", "London"),
                   postcode = c("SE1%20", "se17%20"))

new <- data.frame()
for(i in 1:nrow(look_up)){
  new <- rbind(new,look_up$flat[i])
}

理由を教えていただけるとありがたいです!私の結果は、「フラット」と呼ばれる 1 つの列と、各行に 160 と 130 の値を持つデータ フレームになるはずです。これを理解したら、私がやろうとしている本当のことに移ることができます!

4

3 に答える 3

3

ループは必要ありません:

look_up[,"flat",drop=FALSE]

前述のように、ループの問題は因子への自動変換です。options(stringsAsFactors=FALSE)それを避けるために、スクリプトの前に置くことができます。

ただし、実際の問題に間違った方法で取り組んでいることはほぼ確実です。おそらく、実際に達成したいことを教えてくれる新しい質問をする必要があります。

于 2013-04-19T12:58:46.687 に答える
0

次のようなこともできます。

> look_up  <- data.frame(flat=c("160","130"),
+                        street=c("stamford%20street", "doddington%20grove"),
+                        city = c("London", "London"),
+                        postcode = c("SE1%20", "se17%20"))
> 
> new <- look_up[,1,drop=FALSE]
> new
  flat
1  160
2  130
> class(new)
[1] "data.frame"

これは、最終的に必要な出力が列に 160 と 130 のデータフレームであることを示しています。ここに含めない場合drop=FALSE、最終的な出力が要因になります。お役に立てれば。

于 2013-04-19T13:34:49.800 に答える