根据R中的条件乘和替换数据帧中的值

时间:2019-07-30 01:31:55

标签: r dataframe replace conditional-statements multiplying

我是R的新手,我一直在尝试乘法和替换数据框中的某些值,但均未成功。基本上,我想做的是,当我的df(任意列)中的值是 0

以防万一...

isRowFilteredByUser

例如,如果我的数据框中的值为0.15,我希望它为15。

1 个答案:

答案 0 :(得分:0)

一个选择是基于表达式创建逻辑矩阵。从数据集中提取值,乘以10并更新结果

i1 <- df1 >0 & df1 < 1
df1[i1] <- df1[i1] * 10

或者如果我们不想替换初始对象,则使用replace

df2 <- replace(df1, i1, df1[i1] * 10)

一个tidyverse选项,其中需要对列的类型进行一些其他检查

 library(dplyr)
 df1 %>%
    mutate_if(is.numeric, ~ case_when(between(., 0, 1) ~ . * 10, TRUE ~ .))
相关问题