use*_*427 2 if-statement r dataframe
假设我有一个数据框,其中有几行看起来像:
User Lab Score
A 1 5
A 2 6
A 4 7
B 1 3
B 3 4
C 2 5
Run Code Online (Sandbox Code Playgroud)
然后,对于实验1,我想将得分除以5,对于实验2,我想将得分除以8,对于实验3,我想将得分除以7,对于实验4,我想要将得分除以得分为9.我将如何做到这一点?
对于像这样的数据转换任务,使用ifelse,这是一种基于条件从不同结果中进行选择的矢量化形式.
df$Score <- with(df, ifelse(Lab == 1, Score/5,
ifelse(Lab == 2, Score/8,
ifelse(Lab == 3, Score/7, Score/9))))
Run Code Online (Sandbox Code Playgroud)
(这假设您只有4个实验室.)