fread() 将所有列 类 分配给指定的字符
fread() assigns all columns classes to character even specified
我在下面附上了我的数据集。我尝试使用 fread
在 r
中阅读它。但是 类 列都是 character
即使我指定了它们。
class <- c("character", "character", "numeric", "numeric","numeric",
"character", "numeric", "numeric", rep("chracter", 5), "numeric",
"chracter", "character", "factor", "character",
"character", "character", "character", "character", "factor",
"numeric", "numeric", "character",rep("numeric", 6), "character",
"numeric", "factor", rep("numeric", 9) , "character", "numeric",
"character", "character", "numeric", "numeric", "numeric", "factor",
"factor", "numeric", "numeric", "factor", rep("numeric", 55))
data_q1 <- fread("LoanStats_2016Q1.csv", header = TRUE, skip = 1, nrows = 133887, colClasses = class, fill = TRUE)
str(data_q1)
Classes ‘data.table’ and 'data.frame': 133887 obs. of 111 variables:
$ id : chr "75577129" "75669195" "75769072" "75991583" ...
$ member_id : chr "81011841" "81136933" "81236807" "81482303" ...
$ loan_amnt : chr "25000" "4000" "3600" "8000" ...
$ funded_amnt : chr "25000" "4000" "3600" "8000" ...
$ funded_amnt_inv : chr "25000" "4000" "3600" "8000" ...
我检查了这个 answer 我试过了:
any(is.na(data_q1[, loan_amnt]))
[1] FALSE
我的 loan_amnt
列不包含 NA
值。现在不知道是什么问题
您在 class 矢量中有拼写错误。 rep("chracter", 5) 应该是 rep("character", 5) 并且这个错误在同一个 vector
中再次出现
我在下面附上了我的数据集。我尝试使用 fread
在 r
中阅读它。但是 类 列都是 character
即使我指定了它们。
class <- c("character", "character", "numeric", "numeric","numeric",
"character", "numeric", "numeric", rep("chracter", 5), "numeric",
"chracter", "character", "factor", "character",
"character", "character", "character", "character", "factor",
"numeric", "numeric", "character",rep("numeric", 6), "character",
"numeric", "factor", rep("numeric", 9) , "character", "numeric",
"character", "character", "numeric", "numeric", "numeric", "factor",
"factor", "numeric", "numeric", "factor", rep("numeric", 55))
data_q1 <- fread("LoanStats_2016Q1.csv", header = TRUE, skip = 1, nrows = 133887, colClasses = class, fill = TRUE)
str(data_q1)
Classes ‘data.table’ and 'data.frame': 133887 obs. of 111 variables:
$ id : chr "75577129" "75669195" "75769072" "75991583" ...
$ member_id : chr "81011841" "81136933" "81236807" "81482303" ...
$ loan_amnt : chr "25000" "4000" "3600" "8000" ...
$ funded_amnt : chr "25000" "4000" "3600" "8000" ...
$ funded_amnt_inv : chr "25000" "4000" "3600" "8000" ...
我检查了这个 answer 我试过了:
any(is.na(data_q1[, loan_amnt]))
[1] FALSE
我的 loan_amnt
列不包含 NA
值。现在不知道是什么问题
您在 class 矢量中有拼写错误。 rep("chracter", 5) 应该是 rep("character", 5) 并且这个错误在同一个 vector
中再次出现