2016-09-16 112 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