R 在矩阵上使用apply

R 在矩阵上使用apply,r,apply,R,Apply,我试图对32列应用一个函数。我有一个32X32矩阵,命名为nfl_数据,它是从Excel中读取的。似乎apply函数能够将函数应用于所有列。我试图将一列的值相加,除以13,然后取缩减列的平均值。这是我的密码: x <- solve(nfl_data) rm <- apply(x, 2, function(i) round((1/13)*(sum(nfl_data[,i])) + mean(x[,i]),digits=2)) x在不查看您的数据的情况下,我模拟一个,如下所示,并提供一

我试图对32列应用一个函数。我有一个32X32矩阵,命名为nfl_数据,它是从Excel中读取的。似乎apply函数能够将函数应用于所有列。我试图将一列的值相加,除以13,然后取缩减列的平均值。这是我的密码:

x <- solve(nfl_data)
rm <- apply(x, 2, function(i) round((1/13)*(sum(nfl_data[,i])) + mean(x[,i]),digits=2))

x在不查看您的数据的情况下,我模拟一个,如下所示,并提供一个解决方案。对于在OP中使用
apply
时出现的错误,我认为您可能同时具有正指数和负指数

# simulate the dataset:
nfl_data = rnorm(n=32*32, mean=4, sd=0.5)  
nfl_data = matrix(nfl_data, nr=32, nc=32)
head(nfl_data)

# your codes:
x <- solve(nfl_data)
myfun = function(i) round( (1/13)*(sum(nfl_data[,i])) + mean(x[,i]), digits=2 )

# alternative way:
rm = numeric(32)
for (i in 1:32){
  rm[i]=myfun(i)
}

# check results:
rm
#模拟数据集:
nfl_数据=rnorm(n=32*32,平均值=4,标准差=0.5)
nfl_数据=矩阵(nfl_数据,nr=32,nc=32)
负责人(nfl_数据)
#您的代码:

请通过添加显示问题的示例数据使其重现。使用
rm
作为数据对象名称似乎是不明智的。