友達、私はRに不慣れです、しかし、私は問題の1つで立ち往生しています。つまり、データフレームに数学関数(平均、最小、最大など)を含む列があり、関数と同じ行数の別のデータフレームがあり、これらの特定の関数をデータフレームに適用したいと考えています。
以下は、特定の数学関数を使用した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、parse(eval)を試しましたが、失敗しました。NAがあったことに注意してください。ただし、各行の結果が必要です(つまり、NAを除外しますが、行自体は削除しません)。
よろしく、
関数df1
を使用して最初のデータフレームを呼び出し、df2
次に行のデータを使用してデータフレームを呼び出します。
mapply(function(f,x) get(f)(x,na.rm=TRUE), df1$funct, as.data.frame(t(df2)))
を生成します
min max mean min
4 16 11 7
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加