R:将数据帧读入矩阵

时间:2018-04-13 21:15:30

标签: r loops dataframe

我是R的新手,无法找出一个简单的问题。

我循环遍历数据框并将元素插入矩阵但我得到错误的数据。

结果应该是53007而不是344.我甚至不知道344来自哪里。

请帮忙。

由于

   OpData <- read.csv2(file="OPData.csv",head=FALSE, sep=",")

x <- 1
Matx <- matrix(NA, nrow = 5, ncol = 2)

while (x<6) 
  {

    Matx[x,1] <- OpData[14,1]
    Matx[x,2] <- x
    x <- x + 1
    Matx
  }

Matx
OpData[14,1]

结果:

 [,1] [,2]
[1,]  344    1
[2,]  344    2
[3,]  344    3
[4,]  344    4
[5,]  344    5
> OpData[14,1]
[1] 53007

1 个答案:

答案 0 :(得分:0)

这可能是因为read.csv2将列读作因子。没有数据很难判断。现在你应该尝试:

OpData <- read.csv2(file="OPData.csv",head=FALSE, sep=",", stringsAsFactors = FALSE)

此外,您不需要Matx末尾的while loop

即使此代码有效,您也可以在5行中获得相同的值。这有什么好处吗?