R Can';t从<;双倍>;至<;整数>;由于精度损失
尝试运行此代码,我收到以下错误消息: “必须使用有效的下标向量来子集列。由于精度损失,无法从双精度转换为整数。”是否有人可以帮助修复或转换,以便它正确识别数据帧列R Can';t从<;双倍>;至<;整数>;由于精度损失,r,R,尝试运行此代码,我收到以下错误消息: “必须使用有效的下标向量来子集列。由于精度损失,无法从双精度转换为整数。”是否有人可以帮助修复或转换,以便它正确识别数据帧列 data1 <- wins.df(data1, data1$q, wins.limits = c(.01, .99), append.wins.label = FALSE, verbose = TRUE) data1请显示一个可重复的小示例什么是wins.df?wins.df是一个创建用于winsorize数据的函数。我的最佳
data1 <- wins.df(data1, data1$q, wins.limits = c(.01, .99), append.wins.label = FALSE, verbose = TRUE)
data1请显示一个可重复的小示例什么是wins.df
?wins.df是一个创建用于winsorize数据的函数。我的最佳猜测是,由于precision@DekeMarquardt该函数包括另一个名为wins
…的函数。您使用的是什么软件包winsorize<代码>从t直到赢
(需要百分比或观察次数才能赢)?还是别的什么?此外,您提供的第二个参数是data1$q
——但是在wins.df
函数中,看起来您只需要data1
中的列名,或者只需要“q”(感兴趣的列的名称),而不是数据帧中的数字向量。
wins.df <-
function(X,
var,
wins.limits = c(.01, .99),
append.wins.label = TRUE,
verbose = TRUE) {
Y <- X
x <- X[, var]
x.w <- wins(x, wins.limits)
var.w <- var
if (append.wins.label)
var.w <- paste(var, ".w", sep = "")
Y[, var.w] <- x.w
if (verbose) {
print(summary(Y[, var.w])) print(summary(X[, var]))
}
return(Y)
}