R 为什么我不能计算平均数?
试图创建一个表来计算数据的平均值,但sapply不起作用,它不断给我一个错误,即“x”必须是至少两个维度的数组 这是我的密码R 为什么我不能计算平均数?,r,list,histogram,mean,sapply,R,List,Histogram,Mean,Sapply,试图创建一个表来计算数据的平均值,但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)) pri
#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)
#问题1
种子集(10000)
v我认为问题是由lyst
是一个类列表对象这一事实引起的。因此,使用lappy
将函数应用于此列表的每个元素可能是更好的方法。您可以使用以下代码执行此操作:
sampleMean <- lapply(lyst, mean)
sampleMean噢,这是可行的,但是您知道如何将输出放入一个7x7而不是一个长列表的表中吗?您可以尝试类似于as.data.frame(矩阵(unlist(sampleMean),nrow=7,ncol=7,byrow=T))
。您只需要指定值是按行(byrow=T
)还是按列(byrow=F
)填充。