樣品DATAS:申請總和data.frame由子分組,其中R
> mat1 = as.data.frame(matrix(c("D-J10-N1","D-J10-N2","D-J2-N1","D-J2-N2",3,6,5,7,8,4,2,3,4,1,2,3), ncol = 4));
> mat1
V1 V2 V3 V4
1 D-J10-N1 3 8 4
2 D-J10-N2 6 4 1
3 D-J2-N1 5 2 2
4 D-J2-N2 7 3 3
期望的輸出:
> results
V1 V2 V3 V4
1 J10 9 12 5
2 J2 12 5 5
所以我需要由V1和然後的子串來總結V2到V4在我的結果中返回這個子字符串。我可以定義我的組爲:
> groups <- substr(mat1[,1],1,5)
> groups
[1] "D-J10" "D-J10" "D-J2-" "D-J2-"
我想用rowsum如:
> rowsum(mat1,groups, reorder = TRUE)
但rowsum似乎只接受數值的羣體?我查看了應用家庭功能,但沒有找到運氣....關於如何解決這個問題的任何想法?
非常感謝您的幫助!
感謝您的幫助。你的代碼做我需要的,我理解它。現在,試圖將其應用於我的實際數據集,我得到的參數必須具有相同的長度錯誤。我的論點的長度適合。 MOdified命令:> aggregate(table.off.fem,by = list(sub([DF] - (J [0-9] +) - [A-Z0-9] +「,」\\ 1「,rownames( table.off.fem))),sum)。str(data)給我int表格中的數字,爲什麼我得到這個錯誤? – Chargaff 2012-02-23 23:55:49
> length(table.off.fem [,3]) [1] 136 >長度(rownames(table.off.fem)) [1] 136.數據類型是表,這可能導致錯誤嗎?我不能簡單地理解data.frame我的表.... > 我真的不明白爲什麼我得到這個參數必須有相同長度的錯誤..... – Chargaff 2012-02-24 00:24:42
dim(as.data.frame(table.off.fem))'? – James 2012-02-24 02:02:56