Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据R中的条件乘以并替换数据帧中的值_R_Dataframe_Replace_Conditional Statements_Multiplication - Fatal编程技术网

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

根据R中的条件乘以并替换数据帧中的值,r,dataframe,replace,conditional-statements,multiplication,R,Dataframe,Replace,Conditional Statements,Multiplication,我是R新手,我一直在尝试乘法和替换数据帧中的某些值,但没有成功。基本上,我想做的是当我的df(任何列)中的值 0

我是R新手,我一直在尝试乘法和替换数据帧中的某些值,但没有成功。基本上,我想做的是当我的df(任何列)中的值 0 瞥一眼我的df以防万一

    'data.frame':   404 obs. of  15 variables:
    $ D3: num  16.1 17.1 16.1 16.1 17.2 ...
    $ TH   : num  9.9 8.6 9.7 7.7 7.6 7.6 8.7 9.8 9.8 7.7 ...
    $ D2 : num  33.3 29.3 30.3 29.3 33.3 ...
    $ D1 : num  15.1 14.1 21.1 16.1 19.1 ...
    $ P : num  20.7 14.1 19.2 18.2 12.1 ...
    $ D5 : num  9.9 11.1 11.9 11.1 11.1 ...
    $ D13: num  13.1 14.1 13.1 13.8 12.9 ...
    $ D7 : num  11.8 11.1 12.1 14.1 12.1 ...
    $ D16: num  12.9 12.1 12.9 11.1 12.9 12

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

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

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

一个带有一些额外的列类型检查的
tidyverse
选项将是

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

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

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

一个带有一些额外的列类型检查的
tidyverse
选项将是

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