簡體   English   中英

使用字符串作為函數參數R

[英]Use character String as function argument R

我已經浪費了很多時間,但我不明白。

是否可以在函數中使用字符串作為參數?

我的字串定義為:

mergesetting <- "all = FALSE"

(有時我改用“ all.y = TRUE”或“ all.x = TRUE”)

我試圖將String設置為以下函數的參數:

merged = merge.data.frame(x = DataframeA ,y = DataframeB ,by = "date_new", mergesetting )

但是我收到一條錯誤消息:fix.by(by.x,x)中的錯誤

如果我直接使用參數,該函數可以正常工作:

merged = merge.data.frame(x = DataframeA,y = DataframeB,by = "date_new", all = FALSE )

同樣,在使用字符串作為函數參數中找到的其他兩種方法也無效:

  L<- list(x = DataframeA,y = DataframeB,by = "date_new", mergesetting)
  merged <- do.call(merge.data.frame, L)

任何幫助深表感謝。

不確定要點,但是,如果您有包含數據和參數的列表

說dfA是此數據幀kable(head(dfA)) |dates | datum| |:----------|-----:| |2010-05-11 | 1130| |2010-05-12 | 1558| |2010-05-13 | 1126| |2010-05-14 | 131| |2010-05-15 | 2223| |2010-05-16 | 4005| kable(head(dfA)) |dates | datum| |:----------|-----:| |2010-05-11 | 1130| |2010-05-12 | 1558| |2010-05-13 | 1126| |2010-05-14 | 131| |2010-05-15 | 2223| |2010-05-16 | 4005|

dfB是這個...

kable(head(dfB)) |dates | datum| |:----------|-----:| |2010-05-11 | 3256| |2010-05-12 | 50| |2010-05-13 | 2280| |2010-05-14 | 4981| |2010-05-15 | 2117| |2010-05-16 | 791|

您的預設清單:

arg.li <- list(dfA = dfA,dfB = dfB,all = T,by = 'dates')

列表功能的包裝...

f <- function(x)do.call('merge.data.frame',list(x = x$dfA,y = x$dfB,all = x$all))

結果是:

kable(summary(f(arg.li))) | | dates | datum | |:--|:------------------|:------------| | |Min. :2010-05-11 |Min. : 24 | | |1st Qu.:2010-09-03 |1st Qu.:1288 | | |Median :2010-12-28 |Median :2520 | | |Mean :2011-01-09 |Mean :2536 | | |3rd Qu.:2011-04-22 |3rd Qu.:3785 | | |Max. :2011-12-01 |Max. :5000 |

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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