2016-09-16 22 views
0

データフレームに新しい列を追加しようとしていますが、5個程度のデータフレーム用に多くの列を作成する必要があります。だから私は関数を書いてみたいです。すべての列は、各データフレームで同じになりますので、これは私が考えていたものです:R:関数内にデータフレーム引数を指定する

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を生成していますか?私の主張は間違っていますか?引数がデータフレームであることを指定する必要がありますか?

答えて

3

あなたはreturn文を必要とする:

fxn_foo <- function(x){ 
    x$egret <- (x$n)/2 
    return(x) 
    } 

その後

df <- fxn_foo(df) 
+0

作品!ありがとう! – Nick

関連する問題