[英]Data grouping and sub-grouping by column variable in R
我正在通過Win7上的R進行數據收集。
給定的數據是:
var1 var2 value
我需要按var1分組,然后對每個var1,按var2分組。
然后,輸出是與相同的var1和var2關聯的值的列向量。 在這里,var1和var2就像鍵。
例,
var1 var2 value
1 56 649578
2 17 357835
1 88 572397
2 90 357289
1 56 427352
2 17 498455
1 88 354623
2 90 678658
結果應該是
var1 var2 value
1 56 649578
1 56 427352
1 88 354623
1 88 572397
2 17 357835
2 17 498455
2 90 357289
2 90 678658
而且,我需要將CSV文件中的值打印為
對於var 1為1:
649578 354623
427352 572397
對於var 1為2:
357835 357289
498455 678658
而且,我還需要將CSV文件中的值打印為
對於var 1 = 1:
1 56 649578
1 56 427352
1 88 354623
1 88 572397
對於var1 = 2:
2 17 357835
2 17 498455
2 90 357289
2 90 678658
怎么做 ?
我發現了一些帖子,這些帖子沒有直接用處。
更新:如何選擇和打印與每個唯一var2關聯的值?
R中是否有字典數據結構?
我認為這與您要尋找的相對接近,但並不完全相同。 它應該提供一些幫助
library(reshape2)
library(plyr)
dat<-data.frame(var1=c(1,2,1,2,1,2,1,2),var2=c(56,17,88,90,56,17,88,90),value=c(649578,357835,572397,357289,427352,498455,354623,678658))
dat<-dat[order(dat$var1,dat$var2),]
dat<-ddply(dat,.(var1,var2),summarize,seq1=c(1:length(value)),value=value)
dat.new.new<-dcast(dat,var1+var2~seq1,value.var="value")
第二個使用order()的dat調用將根據您的請求對結果進行排序,並且dat.new.new數據框與您要查找的內容接近。
獲得KidKudi參考的獎勵積分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.