2015-07-28 38 views
0

我想读取一个xlsx文件,其中整列包含“NA”,但我想R将它解释为NA而不是字符“NA”。 我使用这行代码:R阅读xlsx,NA不作为字符

assignments <- read.xlsx(file="assignments.xlsx", sheetIndex=2, header=T, stringsAsFactors=FALSE) 

在此先感谢

+0

试试'na.strings =“NA”'。 – SabDeM

+0

我试过了,但它不起作用 – Ruggero

+0

在这一点上,也许你可以像字符串一样读取数据,然后用'class(data $ column)< - as.numeric(as.character(data $ column) )' – SabDeM

回答

1

以下为我工作

data <- read.xlsx(file = "test.xlsx", header = TRUE) 
data[data == "NA"] <- NA 
0

我有read.xlsx功能上没有经验,这文件的基础上,似乎不接受read.table中允许的na.strings选项。因此,我会做什么是导出XLSX文件为.csv,然后用na.strings选项,如

assignments <- read.table(file="assignments.csv", header=TRUE, stringsAsFactors=FALSE, na.strings = "NA",sep=",") 

在九月选项应该是什么在导出的文件分隔符恰好是。

当然,另一个选择就是在之后将“NA”字符串转换为NA值,正如Adrian在他的回答中所建议的那样。

+0

我已经在30分钟前提出了'na.strings'的方式,但是OP试过并且说它没有工作。 – SabDeM