df <- data.frame(var1=c('a', 'b', 'c'), var2=c('d', 'e', 'f'), freq=1:3)
什麼是擴大上述data.frame的前兩列最簡單的方法,讓 每一行出現的次數在'freq'欄中指定?複製data.frame中的每一行,並指定副本數爲每行
換句話說,從這個去:
df
var1 var2 freq
1 a d 1
2 b e 2
3 c f 3
要這樣:
df.expanded
var1 var2
1 a d
2 b e
3 b e
4 c f
5 c f
6 c f
太好了!我總是忘記你可以使用方括號。我一直在想索引只是爲了子集或重新排序。我有另一個遠不那麼優雅的解決方案,毫無疑問效率較低。無論如何,我可能會發帖,以便其他人可以比較。 – wkmor1 2010-05-24 10:30:21
對於大型'data.frame',更高效的是用'seq.int(1,nrow(df))'或'seq_len(nrow(df))'替換'row.names(df)'。 – Marek 2010-05-25 11:54:19
這對於一個大數據框非常奏效 - 150萬行,5列,非常快。謝謝! – gabe 2012-11-21 06:16:34