考虑到同一行和另一列中的值,我想知道如何更改或保留特定列的值。
这是我的数据集,名为(df
):
BLUP_pop BLUPISM_rate
1 1.94693747 1.00000000
2 1.33774978 0.68710465
3 1.04724481 0.78284058
4 0.95897119 0.91570871
5 0.75524367 0.78755616
6 0.44728346 0.59223728
7 0.35502008 0.79372504
8 0.29392675 0.82791585
9 0.26649710 0.90667862
10 0.15827465 0.59390759
11 -0.00630328 -0.03982495
12 -0.21526737 34.15164327
我想陈述以下规则:
df$BLUP_pop <= 0
,则在df$BLUPISM_rate
中粘贴“ 0”; df$BLUP_pop >= 0
,则保留该值。即
BLUP_pop BLUPISM_rate
1 1.94693747 1.00000000
2 1.33774978 0.68710465
3 1.04724481 0.78284058
4 0.95897119 0.91570871
5 0.75524367 0.78755616
6 0.44728346 0.59223728
7 0.35502008 0.79372504
8 0.29392675 0.82791585
9 0.26649710 0.90667862
10 0.15827465 0.59390759
11 -0.00630328 0
12 -0.21526737 0
谢谢。
答案 0 :(得分:0)
BLUPISM_rate
是数据框df
中的现有列,可以根据条件使用BLUP_pop
根据其他列ifelse
进行修改。
mutate
是dplyr
包中的一个函数,用于在给定数据帧中的现有或新列中进行操作
# ifelse(condition,TRUE,FALSE)
library(dplyr)
df <- df %>%
mutate(
BLUPISM_rate = ifelse(BLUP_pop <= 0 , 0 , BLUPISM_rate)
)
print(df)