我是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
答案 0 :(得分:0)
这可能是因为read.csv2将列读作因子。没有数据很难判断。现在你应该尝试:
OpData <- read.csv2(file="OPData.csv",head=FALSE, sep=",", stringsAsFactors = FALSE)
此外,您不需要Matx
末尾的while loop
。
即使此代码有效,您也可以在5行中获得相同的值。这有什么好处吗?