使用R软件包xlsx,是否可以在读取Excel文件时设置na.strings?
我正在使用read.xlsx
在Excel文件中read.xlsx
,我想用read.table
来设置na.strings。 这可能吗? 这只是添加na.strings到这样的调用不起作用:
Data <- read.xlsx("my file.xlsx", sheetName = "MyData", na.strings = "no info")
还有其他的方法吗?
不,这是不可能的,因为read.xlsx
没有处理特殊的缺失值。 但是这可能是getCellvalue
函数的一个可能的增强。
你可以使用类似的东西replace缺失的值:
Data[Data=="no info"] <- NA
或者,将您的数据转换为csv并使用read.csv
,或作为注释使用另一个处理缺失值的包。
编辑使用XLConnect包:
更高性能的XLConnect
包使用setMissingValue
函数来setMissingValue
缺失的值。 这里等价的代码可以写成:
library("XLConnect") wb <- loadWorkbook("my file.xlsx") setMissingValue(wb, value = "no info") readWorksheet(wb, sheet = "MyData")
我不认为这是可能的,但你可以很容易地使用应用程序来做到这一点后,你已经加载了Excel文件:
Data <- data.frame(apply(Data,1:2,function(x) if( x %in% 'no info') return(NA) else return(x)))
显然,如果没有信息,你可以拥有自己的na.strings向量
希望有所帮助!