尝试将字母字符列更新为相应的字母数字字符:意味着更新" A"到" 1"。
在控制台中传递此内容会更新第5列的sdt数据框
x <- 5
y <- "K"
z <- "1000"
sdt[[x]] <- ifelse(sdt[[x]] == y, z, sdt[[x]])
想通过构建这个函数来扩展它:
texp <- function (x, y, z) {
x <- as.integer(x)
y <- as.character(y)
y <- as.character(z)
sdt[[x]] <- ifelse(sdt[[x]] == y, z, sdt[[x]] )
}
然后将其传递给控制台:
texp(5, "A", "1")
没有更新。尝试了各种变体,没有变化(意味着没有更新)。
我错过了什么?
答案 0 :(得分:2)
# Update column
sdt[[5]] <- match(tolower(sdt[[5]]), letters)
# transform to numeric
sdt[[5]] <- as.numeric(sdt[[5]])
关于您的代码的说明:
<<-
代替<-
(尽管这应该与。{1}}一起使用
谨慎)。return(ifelse([your args]))
,然后使用你的函数
分配新价值。