Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R按对象获取单个列表_R - Fatal编程技术网

从R按对象获取单个列表

从R按对象获取单个列表,r,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)) ) } ) x类似这样的东西可能: n <- unn

如果您有以下数据:

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)) ) } )

x类似这样的东西可能:

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
nct
#$`(0.901,10.9]`
#平均中位数
#   5.5    5.5 
#
#$`(10.9,20.8]`
#平均中位数
#  15.5   15.5 
#
#$`(20.8,30.7]`
#平均中位数
#  25.5   25.5 

期望的输出是什么?1)对于这种情况,向量n=c(10,10,10,10,10,10,10…)2)列表(‘(0.901,10.9)’=c(5.5,5.5),‘(10.9,20.8)’=c(15.5,15.5)…(90.1100)=c(95.5,95.5)我已经进行了计算。我只想得到数值,而不是重新计算平均值/平均值。谢谢@Frank和lyzanderI。我希望我能再给你一个+1。当你使用[[函数,您必须使用backticks。这是一个很小但非常重要的区别。事实上,@Frank应该获得第二个+1,因为他提到了
[[
函数:)。但是感谢您的好话,这使我在这里花费的努力和时间是值得的。谢谢:)
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