私はRを初めて使用するので、Rの仕組みについてまだ頭を悩ませています。私の問題は次のとおりです。データフレームと優先順位付けされた列のリスト ( pl
) が必要です。
- 各行の列から最大値を見つけ、
pl
この値で新しい列を作成するには (df$max
) - プライオリティ リストを使用して、この最大値をプライオリティ値から減算し、NA を無視して絶対差を返します。
おそらく例の方が良いでしょう:私の優先リストは
pl <- c("E","D","A","B")
データフレームは次のとおりです。
A B C D E F G
1 15 5 20 9 NA 6 1
2 3 2 NA 5 1 3 2
3 NA NA 3 NA NA NA NA
4 0 1 0 7 8 NA 6
5 1 2 3 NA NA 1 6
したがって、最初の行の最大値は列 A (15) からのものであり、E は NA であるため、優先度の値は列 D (9) からのものです。私が望む答えは次のようになります。
A B C D E F G MAX MAX-PR
1 15 5 20 9 NA 6 1 15 6
2 3 2 NA 5 1 3 2 5 4
3 NA NA 3 NA NA NA NA NA NA
4 0 1 0 7 8 NA 6 8 0
5 1 2 3 NA NA 1 6 2 1