我是一个R菜鸟,所以我知道这可能有一个简单的解决方案,但我无法弄明白。我正在尝试读取被空格划分的数据。有5列1000行。我想取每行的均值和中位数,然后根据均值和中位数计算均方误差和偏差。
我正在努力采取个别行的意思,我不确定我做错了什么。
我的数据如下:
X1 X2 X3 X4 X5
-2.3564870e-02 -3.3810429e-01 -3.0566635e+00 -1.1046286e-02 -3.0032159e-01
vals <- read.table("laplace_samples.dat")
rowMeans(vals)
我总是得到错误:
rowMeans(vals)出错:'x'必须是数字
我更喜欢在一个循环中这样做并单独查看方法,但我也无法弄清楚如何做到这一点。我尝试了什么:
for(i in 2:1001){
row = vals[i,1:5]
mn = mean(row)
med = median(row)
..... other code
}
另外,我是否可以将其转换为矩阵,以便我可以索引vals[colnumber][rownumber]
或类似的东西?
答案 0 :(得分:1)
此问题应在StackOverFlow上迁移。然而...
看起来你的第一行是X1 X2 X3 X4 X5。 使用:
vals <- read.table("laplace_samples.dat", header = TRUE)
rowMeans(vals)
如果上述代码不起作用,请尝试:
vals <- read.table("laplace_samples.dat")
vals <- as.numeric(vals)
rowMeans(vals)
如果您希望vals
成为矩阵类型:
vals <- as.matrix(vals)