取一行数据帧的平均值

时间:2015-10-20 03:42:47

标签: r

我是一个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]或类似的东西?

1 个答案:

答案 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)