中获取未知数量的唯一行的中值,请提前致谢以获取帮助。我用了一系列包含以下格式的数据的.csv文件的工作:在R
ID<-c(1,1,1,1,2,2,3,3,3,4,4,4,4,5,5,6,7,7)
Length<-c(3,3,4,7,6,4,7,8,8,9,3,2,4,3,6,8,5,3)
dummydata<-cbind(ID,Length)
dummydata<-cbind(ID,Length)
> dummydata
ID Length
[1,] 1 3
[2,] 1 3
[3,] 1 4
[4,] 1 7
[5,] 2 6
[6,] 2 4
[7,] 3 7
[8,] 3 8
[9,] 3 8
[10,] 4 9
[11,] 4 3
[12,] 4 2
[13,] 4 4
[14,] 5 3
[15,] 5 6
[16,] 6 8
[17,] 7 5
[18,] 7 3
我需要做的就是找到每个唯一编号(1,2,3等)的平均长度。我可以用下面的代码单独做到这一点:
one<-median(dummydata[dummydata$ID=="1","Length"])
two<-median(dummydata[dummydata$ID=="2","Length"])
three<-median(dummydata[dummydata$ID=="3","Length"])
然而,在每一个.csv文件,有成千上万的ID,并建立每个号码上面的代码是不可行的。有没有一种方法可以找到整个数千个数据集的每个唯一ID号的中位长度?理想情况下,我可以用这些中值创建一个新列。
我将不胜感激这个问题!
这是一个简单的拆分申请,结合问题。请参阅http://stackoverflow.com/q/11562656/892313但使用中位数而非平均值。 –