Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
如果有多种情况,dplyr会发生突变?_R_Dplyr_Mutate - Fatal编程技术网

如果有多种情况,dplyr会发生突变?

如果有多种情况,dplyr会发生突变?,r,dplyr,mutate,R,Dplyr,Mutate,我的数据如下所示: dt <- data.frame(id = sample(LETTERS, 100) ,A = seq(1:100), B = sample(1:100000, 100), C = rpois(100,1), D = seq(1:100)^3) 用于模型拟合。但我一直得到以下错误: Error in tbl_if_vars(.tbl, .p, .env, ..., .include_group_vars = .include_group_vars) : leng

我的数据如下所示:

dt <- data.frame(id = sample(LETTERS, 100) ,A = seq(1:100), B = sample(1:100000, 100), C = rpois(100,1), D = seq(1:100)^3)
用于模型拟合。但我一直得到以下错误:

Error in tbl_if_vars(.tbl, .p, .env, ..., .include_group_vars = .include_group_vars) : 
  length(.p) == length(tibble_vars) is not TRUE
请帮忙

使用公式参数

library(dplyr)
dt %>% mutate_if(~is.numeric(.) && max(., na.rm = TRUE) > 1000, log10)
为了更清楚,可以使用匿名函数调用

dt %>% mutate_if(function(x) is.numeric(x) && max(x, na.rm = TRUE) > 1000, log10)

它不起作用了。我一直收到以下错误:“错误:只有字符串可以转换为符号”此外,我还添加了另一个错误column@akash87如果(~is.numeric(.)&&max(.)>1000,log10)但是,我没有收到您收到的错误消息,您可以执行
dt%>%mutate\u使其仅对数字列起作用。您使用的数据集与帖子中共享的数据集相同。仍然存在“错误:只有字符串才能转换为符号”@akash87您使用的数据集与帖子中共享的数据集相同吗?
dt %>% mutate_if(function(x) is.numeric(x) && max(x, na.rm = TRUE) > 1000, log10)