我有一个矩阵。我想从矩阵的每一行中选择某些元素,然后计算这些元素的均值。请参阅可重现的示例。我尝试了以下专家建议的代码。但这不起作用
test_data<-as.matrix(data.frame(a=c(4,-8,6,-3),b=c(-2,3,4,-2),c=c(2,-5,8,1),d=c(2,4,3,1)))
Rank<-apply(-test_data,1,rank)
top_n<-c(2,3,2,3)
result_output<-c(3,0.667,7,0)
sapply(seq_along(top_n), function(x) mean(tail(sort(test_data[1, ]), top_n[x])))