我有一個csv文件,每個唯一標識有多行,我需要格式化爲一個數據幀的單行。在這個文件看完後,我結束了一個初始數據框:在R中讀取多個csv行爲單行R
id week v1 v2
01 week1 3 2
01 week2 5 2
01 week3 2 3
02 week1 1 2
02 week2 5 5
03 week1 4 1
03 week2 4 3
03 week3 4 2
[etc...]
我想拉V1的所有實例對於給定的ID,所以我抓住所有的唯一ID
uniqid<-unique(data$id)
,然後從1迭代這些:長度(uniqid)
temp <- subset(data,data$id==uniqid[i])
和每週數據拉成臨時變量
week1 <- temp$v1[temp$week=="week1]
,所以我可以用rbind
output <- rbind(output,data.frame(ID=uniqid[i],week1,week2,week3))
我的問題是,例如使用id = 02改革數據幀,沒有譯員更加,所以rbind休息。看來week3變量永遠不會被創建;它不顯示爲NA。如何測試以查看變量是否已創建並將其設置爲NA(或0),以便rbind不會失敗?或者有沒有完全不同的/更有效的方法來完成這個?
爲什麼'重鑄'而不是更常用的'dcast'? – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto,因爲我首先學會了'recast';),並且它不需要首先熔化數據。 –
我仍然不遵循你的邏輯。這個數據集已經很長了(不需要'融化'),使用'dcast'而不是'recast'就可以解決問題,而不需要跳過重命名的事情:'dcast(DF,id〜week,value.var =「v1 「)' – A5C1D2H2I1M1N2O1R2T1