0
我想知道如何將for loop
的輸出保存爲data.frame
? 假設使用mtcars
數據集我有以下for loop
腳本:如何將for循環輸出保存爲R中的data.frame?
for (i in seq_len(nrow(mtcars))) {
if (i <= 30) {
next
}
print(mtcars[i,])
}
mpg cyl disp hp drat wt qsec vs am gear carb
Maserati Bora 15 8 301 335 3.54 3.57 14.6 0 1 5 8
mpg cyl disp hp drat wt qsec vs am gear carb
Volvo 142E 21.4 4 121 109 4.11 2.78 18.6 1 1 4 2
,但如果我要save
它output
文件dataframe
我會得到如下結果:
output <- as.data.frame(c())
for (i in seq_len(nrow(mtcars))) {
if (i <= 30) {
next
}
output<- c(output,mtcars[i,])
}
### then the output is
> output
$mpg
[1] 15
$cyl
[1] 8
$disp
[1] 301
$hp
[1] 335
$drat
[1] 3.54
$wt
[1] 3.57
$qsec
[1] 14.6
$vs
[1] 0
$am
[1] 1
$gear
[1] 5
$carb
[1] 8
$mpg
[1] 21.4
$cyl
[1] 4
$disp
[1] 121
$hp
[1] 109
$drat
[1] 4.11
$wt
[1] 2.78
$qsec
[1] 18.6
$vs
[1] 1
$am
[1] 1
$gear
[1] 4
$carb
[1] 2
我知道簡單索引output <- mtcars[-(1:30), ]
,但這不是我現實生活中的情況(這更復雜)的解決方案。我真的需要循環來做我想做的事情。
通過使用C()你串聯data.frames的列表。通過使用cbind()而不是c(),你會得到你想要的 –
@Moody_Mudskipper,請你爲我寫清楚你的代碼到底是什麼意思,哪裏需要做? tnx – Daniel
@jogo,tnx的評論,但它沒有幫助!我知道這一點,關鍵在於它如何在循環中,這只是一個示例哥們! :) – Daniel