我正在清理/組織數據的最後階段,並希望爲此步驟提供建議。我是R新手,並不完全理解數據框或其他數據類型是如何工作的。 (我試圖學習,但有一個項目,所以需要一個快速的解決方案)。我已經從CSV文件導入數據。如何將r中的相同實例組合爲一個並同時生成頻率和平均值?
我想分組具有相同(日期,ID1,ID2,ID3)的實例。我想要輸出中所有統計數據的平均值,以及分組數量的新列。
注:ID3包含。我想這些重命名爲 「NA」 分組 之前,我已經試過解決方案
tdata$ID3[is.na(tdata$ID3)] <- "NA"
tdata[["ID3"]][is.na(tdata[["ID3"]])] <- "NA"
但得到錯誤:
In `[<-.factor`(`*tmp*`, is.na(tdata[["ID3"]]), value = c(3L, 3L, :
invalid factor level, NA generated
的數據是:
date ID1 ID2 ID3 stat1 stat2 stat.3
1 12-03-07 abc123 wxy456 pqr123 10 20 30
2 12-03-07 abc123 wxy456 pqr123 20 40 60
3 10-04-07 bcd456 wxy456 hgf356 10 20 40
4 12-03-07 abc123 wxy456 pqr123 30 60 90
5 5-09-07 spa234 int345 <NA> 40 50 70
所需的輸出
date ID1, ID2, ID3, n, stat1, stat2, stat 3
12-03-07 abc123, wxy456, pqr457, 3, 20, 40, 60
10-04-07 bcd456, wxy456, hgf356, 1, 10, 20, 40
05-09-07 spa234, int345, big234, 1 , 40, 50, 70
我試過這個解決方案:How to merge multiple data.frames and sum and average columns at the same time in R
但我沒有成功合併列進行分組和測試的相似性。
DF <- merge(tdata$date, tdata$ID1, tdata$ID2, tdata$ID3, by = "Name", all = T)
Error in fix.by(by.x, x) : 'by' must specify uniquely valid columns
最後,要生成n列。也許插入1行並在總結時使用列的總和?
請檢查您的第一行所需的輸出。預期的平均值不同 – akrun
我的壞,是的,它應該是12-03-07 abc123,wxy456,pqr457,3,20,40,60 6 – MyLeftS0ck