我正在尝试向数据框添加新列,但是我需要为5个左右的数据帧创建许多列。所以我想写一个函数。由于每个数据帧的所有列都是相同的,所以这就是我的想法:
n = c(2,3,5)
f = c("two", "three", "five")
q = c(1,1.5,2.5)
df= data.frame(n,f,q)
fxn_foo <- function(x){
x$egret <- (x$n)/2
}
fxn_foo(df)
df$egret
为什么这会产生Null
?我的论点是否错过了?我是否需要指定参数是数据帧?
答案 0 :(得分:3)
您需要return
声明:
fxn_foo <- function(x){
x$egret <- (x$n)/2
return(x)
}
然后
df <- fxn_foo(df)