簡體   English   中英

通過R中的列變量進行數據分組和子分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM