朋友,我是R新手,但是,我陷入了其中一個問題。事情是,我有一個與數學函數(平均值,最小值,最大值等)的數據框中的列,我有另一個數據框與行數相同的功能,我想將這些特定的功能應用到數據幀。將函數列表應用到另一個數據框中的行中R
下面爲df具有特定的數學函數
var1 funct
1 A min
2 B max
3 C mean
4 D min
下面如果DF到這些功能需要應用(上行)
a1 b1 c1 d1
1 4 8 12 15
2 NA 9 13 16
3 6 10 NA 17
4 7 11 15 18
假設第一FN需要被施加到第一排等。有人能幫忙嗎?我試過do.call,解析(eval),但我失敗了。注意:有NA,但是,我想每一行的結果(即排除NA,但不能刪除該行本身)
問候,
或者另一個人會'vapply(seq_len(nrow(DF2)),函數(I)的eval(as.name(DF1 $本功能[I]))(不公開(df2 [i,]),na.rm = TRUE),numeric(1L)) #[1] 4 16 11 7' – akrun 2015-02-05 18:48:13
@akrun如果你打算'eval',那麼'mapply(function )eval(call(f,unlist(df2 [r,]),na.rm = TRUE)),df1 $ funct,1:nrow(df2))' – 2015-02-05 18:55:06
非常感謝你們,這個論壇真棒!感謝一羣A.Webb,akrun,Jthorpe爲此付出了時間。 :)我可能會有一個最近添加的查詢,目前正在解決它,但如果無法這樣做會將其發佈到此處。 – 2015-02-06 09:26:33