【问题标题】:Why cant I calculate the mean?为什么我不能计算平均值?
【发布时间】:2020-07-15 20:05:34
【问题描述】:

试图创建一个表来计算我的数据的平均值,但 sapply 不起作用,它不断给我错误,即“x”必须是至少二维的数组

这是我的代码


#Question 1
set.seed(10000)

v <- c(0.1,0.5,1,2,5,10,100)

lyst <- list()

for(i in v)
{
  for(j in v)
  {
    elementname <- paste0(as.character(i),"-",as.character(j))
    print(elementname)
    lyst[[elementname]] <- rgamma(10000,i,j)
  }
}
#Question 2
pdf("Histogr4m.pdf",width = 20, height = 10)
par(mfcol=c(7,7))
for(x in names(lyst))
{
  hist(lyst[[x]],
       xlab = "Value",
       main = paste("Alpha-Lambda:",x))
}
dev.off()

#Question 3

sampleMean <- sapply(lyst, colMeans)

【问题讨论】:

    标签: r list histogram mean sapply


    【解决方案1】:

    我认为问题是由lyst 是一个类列表对象引起的。因此,使用lapply 将函数应用于此列表的每个元素可能是一种更好的方法。您可以使用以下代码来做到这一点:

    sampleMean <- lapply(lyst, mean)
    

    【讨论】:

    • 哦,那行得通,但是您知道如何将输出放入一个 7x7 的表格而不是一个长列表中
    • 你可以试试as.data.frame(matrix(unlist(sampleMean), nrow = 7, ncol = 7, byrow = T))。您只需要指定这些值是按行 (byrow = T) 还是按列 (byrow=F) 填充。
    猜你喜欢
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多