2
library(dplyr)
A <- data_frame(Type=c("A","A","B"),R=c(3, 7, 12), Value = c(120, 130,300))
A
Type R Value
(chr) (dbl) (dbl)
1 A 3 120
2 A 7 130
3 B 12 300
マッピングデータセット:
Mapping <- data_frame(Type=c("A","A","A","B","B","B"), Rmin = c(1,6,11,1,6,11), Rmax = c(5,10,15,5,10,15), Threshold = c(50,100,200,50,200,300))
Mapping
Type Rmin Rmax Threshold
(chr) (dbl) (dbl) (dbl)
1 A 1 5 50
2 A 6 10 100
3 A 11 15 200
4 B 1 5 50
5 B 6 10 200
6 B 11 15 300
出力ステップを、以下に取得することが期待されています。
- AとMappingの同じType値で、R> = RminでR < = Rmaxのエントリのしきい値を見つけます。たとえば、Aの行1の表の場合は、50が必要です(1 < = 3 < = 5、Aと入力します)。
- isAbove値が結果
isAbove <- 120>=50
を割り当てることによって得られる、期待される出力は次のとおり
B <- data_frame(Type=c("A","A","B"),R=c(3, 7, 12), Value = c(60, 90,250), isAbove = c(T,F,F))
B
Type R Value isAbove
(chr) (dbl) (dbl) (lgl)
1 A 3 120 TRUE
2 A 7 130 TRUE
3 B 12 300 FALSE
つの質問:(1)どのように[値]を変更する必要がありますか?その背後には論理がないようです。 (2) 'B 'の2行目については、' Mapping'(行2)で一致する行に対して '130'が' 100'を超えているので 'isAbove'は' TRUE'になります。ではない? – Jaap
@jaap、それらを指摘してくれてありがとう。 (1)「値」列にタイプミスがありました。 Bの '' 'Value''カラムはA.(2)からコピーしてください。質問が更新されました。 – HappyCoding