从对象获取R的单个列表

时间:2015-11-09 20:14:56

标签: r

如果您有以下数据:

x<-1:100
c1<-cut(x,breaks=10 )
result<-by(x,c1,function(x){
                     list(n=length(x),
                          centralTendency=c(mean=mean(x),
                          median=median(x)) ) } )

是否有可能得到n的向量,以及具有集中趋势的向量列表?这是我的问题的一个非常简化的形式,实际上是n个数据点和280个icc值,所以请不要尝试更有效地计算平均值和中位数。

1 个答案:

答案 0 :(得分:2)

这样的事情可能是:

n <- unname(sapply(result, function(x) x$n))
#or as per @Frank 's comment
sapply(result,`[[`,"n") 

#n
#[1] 10 10 10 10 10 10 10 10 10 10

和集中趋势

ct <- lapply(result, function(x) x$centralTendancy)
#or as per @Frank 's comment
lapply(result,`[[`,"centralTendency")

#> ct
#$`(0.901,10.9]`
#  mean median 
#   5.5    5.5 
#
#$`(10.9,20.8]`
#  mean median 
#  15.5   15.5 
#
#$`(20.8,30.7]`
#  mean median 
#  25.5   25.5