加载数据问题

时间:2013-02-14 17:37:26

标签: r csv upload import-from-csv

数据链接: Data

代码:

 ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
 ccfsirsts <- as.data.frame(ccfsisims)
 ccfsirsts[7:25] <- sapply(ccfsirsts[7:25],as.numeric)
 ccfsirsts <- droplevels(ccfsirsts)
 ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres)))
 ccfsirsts[1:5,]

问题:

因此,如果选中“pSVIPM”列,则数据框“ccfsirsts”中显示的值与.csv文件中实际保存的值不同。上传不同的数据集时出现此问题。

在初始上传中,即“ccfsisims”,一切似乎都要结束。之后问题就出现了。

有关为何会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:3)

当您加载ccfsisimsstr(ccfsisims ) ...(养成这样做的习惯)

您会看到pSVIPM是一个因素。因此,as.numeric只会按照级别显示的顺序将因子更改为数字。

因为如果您查看自己的csv,那里就会有#DIV/0!个字符。

亲自尝试:

> length(ccfsisims$pSVIPM[ccfsisims$pSVIPM == "#DIV/0!"])
[1] 350