R read.xlsx colClasses问题
我在使用R read.xlsx colClasses问题,r,import-from-excel,r-xlsx,R,Import From Excel,R Xlsx,我在使用read.xlsx中的colClasses函数时遇到问题 我有以下data.frame mydata <- read.xlsx("dataset_1.xlsx", sheetName = "dataset_1") head(mydata) Treatment Nitrate_conc 1 1 12 2 1 12 3 1 15 4 1 16
read.xlsx
中的colClasses
函数时遇到问题
我有以下data.frame
mydata <- read.xlsx("dataset_1.xlsx", sheetName = "dataset_1")
head(mydata)
Treatment Nitrate_conc
1 1 12
2 1 12
3 1 15
4 1 16
5 1 12
6 2 18
str(mydata)
data.frame': 20 obs. of 2 variables:
$ Treatment : num 1 1 1 1 1 2 2 2 2 2 ...
$ Nitrate_conc: num 12 12 15 16 12 18 25 26 28 28 ...
但是,我得到以下错误:
class(aux)中的错误这是一个老问题,但看起来它从未得到完全回答
这与colClasses
列表中的元素是否命名无关。可以通过文档?read.xlsx
追踪问题。在描述colClasses
参数时,文档指向readColumns
的文档。在那里的描述中,它说
仅接受数字、字符、日期、POSIXct和列类型。
其他任何内容都将转换为字符类型
因此,不允许指定“因子”
。还请注意,…
下的
data.frame的其他参数,例如stringsAsFactors
所以,我们可以使用
mydata <- read.xlsx("dataset_1.xlsx", sheetName = "dataset_1",
colClasses=c("character", "numeric"))
str(mydata)
'data.frame': 6 obs. of 2 variables:
$ Treatment : Factor w/ 2 levels "1","2": 1 1 1 1 1 2
$ Nitrate_conc: num 12 12 15 16 12 18
mydata我认为它更像colClasses=c(“factor”,“numeric”)
@Pascal建议colClasses
可以使用命名参数。@RoryShaw您是否检查了names(mydata)
以确保可能没有错误空间?您还可以考虑使用其他Excel读取器选项中的一个…我个人只在文件中包含日期时才使用read.xlsx
。@MichaelChirico感谢您的帮助并链接到其他方法。@Pascal非常确定colClassess可以接受命名参数-它与read.csv等一起工作
mydata <- read.xlsx("dataset_1.xlsx", sheetName = "dataset_1",
colClasses=c("character", "numeric"))
str(mydata)
'data.frame': 6 obs. of 2 variables:
$ Treatment : Factor w/ 2 levels "1","2": 1 1 1 1 1 2
$ Nitrate_conc: num 12 12 15 16 12 18
mydata <- read.xlsx("dataset_1.xlsx", sheetName = "dataset_1",
colClasses=c(Treatment = "character", Nitrate_conc = "numeric"))