缺少R参数,即使使用显式空检查也没有默认值
我希望这个问题不像标题看起来那么基本。我已经和R一起工作了几个月了,但我似乎不知道这里发生了什么。我正在读取一个非常大的数据集,并试图将列转换为正确的数据类型。我有四列,我相信只是数字,但这里似乎有一些不好的数据。当以数字形式阅读这些列时,我看到了以下问题: scan()应为“真实”,得到“2” 看起来很简单,所以我写了这个方法来非常安全地删除列中可能存在的任何引号:缺少R参数,即使使用显式空检查也没有默认值,r,R,我希望这个问题不像标题看起来那么基本。我已经和R一起工作了几个月了,但我似乎不知道这里发生了什么。我正在读取一个非常大的数据集,并试图将列转换为正确的数据类型。我有四列,我相信只是数字,但这里似乎有一些不好的数据。当以数字形式阅读这些列时,我看到了以下问题: scan()应为“真实”,得到“2” 看起来很简单,所以我写了这个方法来非常安全地删除列中可能存在的任何引号: setAs("character", "num_strip_quote", function(from) {
setAs("character", "num_strip_quote",
function(from) {
coerceString = NA
if(!is.null(from)){
coerceString = from
}
as.numeric(gsub('"'), "", coerceString)
}
)
下面是我的read.csv方法:
data <- read.csv("data.csv", header=TRUE, stringsAsFactors = FALSE, na.strings = c("NA", ""),
colClasses = c(rep("character", 3),
rep("num_strip_quote", 1),
rep("character", 3),
rep("num_strip_dollar_comma", 3),
rep("character", 3),
"num_strip_dollar_comma",
rep("character", 4),
"num_strip_dollar_comma",
"date"))
data我最初从字符串中删除引号的调用是:
as.numeric(gsub(“),”,强制限制)
我在gsub方法中添加了一个参数,这使得调用只有一个参数,而不是必需的三个参数。应该是:
as.numeric(gsub(“,”,强制限制))看?gsub
然后看as.numeric(gsub(“,”,强制限制)
中的括号。感谢您的鹰眼评论:)