Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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 - Fatal编程技术网

R 如果数据帧中的每个值都是';它大于某个数字

R 如果数据帧中的每个值都是';它大于某个数字,r,dataframe,R,Dataframe,所以我有一个混合值的数据框架——它非常混乱。我有10分和100分的价值观。我想把它们标准化为百分比 我的逻辑是,如果某个值大于10,那么我可以除以100。如果某个值等于或小于10,我将把这些值除以10 当前帧 col_1 col_2 col_3 40 16 18 2 9 20 89 3 7.4 23 8 34 新框架 col_1 col_2

所以我有一个混合值的数据框架——它非常混乱。我有10分和100分的价值观。我想把它们标准化为百分比

我的逻辑是,如果某个值大于10,那么我可以除以100。如果某个值等于或小于10,我将把这些值除以10

当前帧

col_1     col_2     col_3
 40        16        18
 2          9        20
 89         3        7.4
 23         8        34
新框架

col_1     col_2     col_3
 .40        .16      .18
 .20        .90      .20
 .89        .30      .74
 .23        .80      .34

使用这个示例数据帧

dd <- read.table(text="
col_1     col_2     col_3
40        16        18
2          9        20
89         3        7.4
23         8        34", header=T)

与@MrFlick类似的逻辑,但没有
ifelse
lappy

df/c(10, 100)[(df > 10)+1]

#  col_1 col_2 col_3
#1  0.40  0.16  0.18
#2  0.20  0.90  0.20
#3  0.89  0.30  0.74
#4  0.23  0.80  0.34

谢谢你的回答!它起作用了,但我更喜欢它!谢谢你的帮助!我使用的是dplyr,我不知道
everything()
函数。谢谢你的新消息!
dd %>% 
  mutate(across(everything(), ~if_else(.x>10, .x/100, .x/10)))
df/c(10, 100)[(df > 10)+1]

#  col_1 col_2 col_3
#1  0.40  0.16  0.18
#2  0.20  0.90  0.20
#3  0.89  0.30  0.74
#4  0.23  0.80  0.34