0
我已經閱讀了以下的答案,但它停止只是空頭回補什麼,我現在遇到的麻煩的:Pass a data.frame column name to a function指定列名
我要選擇列,併爲其分配值基於什麼是新列在舊欄中。
例子:
test <- data.frame(A = c(1:10),
B = c(1:10), C = c(1:10),
P = c(1:10))
這工作:
change <- function(data){
if("P" %in% colnames(data)) {
data$Z <- NA
data$Z[data$P==1] = 99
data$P <- NULL
}
return(data)
}
test2 <- change(test)
但我想在函數的參數來指定新老列。
我又試圖這一點,但它不工作:
change <- function(data, oldcol, newcol){
if(oldcol %in% colnames(data)) {
data[newcol] <- NA
data[newcol][data[oldcol==1]] = 99 # I think it's this line I've got wrong
data[oldcol] <- NULL
}
return(data)
}
test2 <- change(test, "P", "Z")