Reputation: 995
I have written a function to check if there exists a column in dataframe. If there is no column then create a dummy column
add_Column <- function(df, col_name){
if("col_name" %in% colnames(df)) {
NULL
} else{
df$col_name <- ""
}
}
So when I check below,
add_Column(iris, "new")
Expected output
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
Upvotes: 0
Views: 92
Reputation: 41533
First, add return
and use []
to assign the "new" column name like this:
add_Column <- function(df, col_name){
if("col_name" %in% colnames(df)) {
NULL
} else{
df[col_name] <- ""
}
return(df)
}
add_Column(head(iris), "new")
#> 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
Created on 2022-08-12 by the reprex package (v2.0.1)
Upvotes: 1