【发布时间】:2013-08-19 05:04:35
【问题描述】:
有谁知道为什么论点colClasses 似乎在read.xlsx 中不起作用?
我创建了一个示例 *.xlsx 文件:
> library(xlsx)
> d1 = data.frame(A=LETTERS[1:3], B=letters[1:3], C=1:3, D=c(1.1, NA, NA))
> str(d1)
'data.frame': 3 obs. of 4 variables:
$ A: Factor w/ 3 levels "A","B","C": 1 2 3
$ B: Factor w/ 3 levels "a","b","c": 1 2 3
$ C: int 1 2 3
$ D: num 1.1 NA NA
> write.xlsx(d1, 'test.xlsx', sheetName='Sheet1', row.names=F, showNA=F)
然后尝试使用read.xlsx 读取它,不带和带colClasses 参数:
> d2 = read.xlsx('test.xlsx', sheetName='Sheet1')
> str(d2)
'data.frame': 3 obs. of 4 variables:
$ A: Factor w/ 3 levels "A","B","C": 1 2 3
$ B: Factor w/ 3 levels "a","b","c": 1 2 3
$ C: num 1 2 3
$ D: num 1.1 NA NA
> d2 = read.xlsx('test.xlsx', sheetName='Sheet1', colClasses=c(B='character', 'A'='character'))
> str(d2)
'data.frame': 3 obs. of 4 variables:
$ A: Factor w/ 3 levels "A","B","C": 1 2 3
$ B: Factor w/ 3 levels "a","b","c": 1 2 3
$ C: num 1 2 3
$ D: num 1.1 NA NA
问题是colClasses好像没有效果。有什么想法吗?
感谢您的帮助。
阿列克谢
附:我有 R 3.0.1,xlsx 0.5.1
【问题讨论】: