簡體   English   中英

如何在R中反映的函數中進行長參數

[英]How to make long argument in function reflected in R

感謝您的所有幫助。

我想用 R 制作帶有function宏。在function ,有很長的參數。 此參數不會printreturn特定值。 但我想讓爭論的結果得到反映。

例如,我與dplyr進行了一些爭論

i將是數據框。 我創建了數據集test

set.seed(1001)
a<-rnorm(10)
b<-rnorm(10)
test<-data.frame(cbind(a,b))
test

然后我想制作列c c將是ab

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM