[英]How to make long argument in function reflected in R
感謝您的所有幫助。
我想用 R 制作帶有function
宏。在function
,有很長的參數。 此參數不會print
或return
特定值。 但我想讓爭論的結果得到反映。
例如,我與dplyr
進行了一些爭論
i
將是數據框。 我創建了數據集test
set.seed(1001)
a<-rnorm(10)
b<-rnorm(10)
test<-data.frame(cbind(a,b))
test
然后我想制作列c
。 c
將是a
減b
fun<-function(i){
i<-i%>%mutate(c=a-b)}
fun(i=test)
但是,當我檢查test
,沒有生成c
變量。
如何讓函數中參數的結果體現出來?
您需要在函數中添加return
並將值分配回test
。 或者因為 R 默認返回函數的最后一行,你可以這樣做
library(dplyr)
fun <- function(i) i %>% mutate(c = a - b)
test <- fun(test)
test
# a b c
#1 2.189 0.303 1.886
#2 -0.178 1.634 -1.812
#3 -0.185 -0.622 0.437
#4 -2.507 0.467 -2.974
#5 -0.557 1.419 -1.977
#6 -0.144 0.110 -0.254
#7 1.092 1.870 -0.778
#8 -0.623 -1.030 0.407
#9 -0.907 -1.342 0.434
#10 -1.594 0.554 -2.148
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.