【发布时间】:2022-08-12 17:55:15
【问题描述】:
我编写了一个函数来检查数据框中是否存在列。如果没有列,则创建一个虚拟列
add_Column <- function(df, col_name){
if(\"col_name\" %in% colnames(df)) {
NULL
} else{
df$col_name <- \"\"
}
}
所以当我在下面检查时,
add_Column(iris, \"new\")
预期产出
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species new
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
-
最后,您需要在函数中返回 df 。
-
假设您的问题是“为什么我的代码不起作用?”,请不要在您的
if语句中将col_name放在引号中并返回修改后的 df。 -
我尝试了这两个建议。不工作
-
同样在你的 else 语句中使用
df[col_name]=\"\"。
标签: r