Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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,我正试图在已有的连续工资变量的基础上创建一个新的工资组变量。这是我的代码,它在其他类似情况下运行良好: df <- df %>% mutate(wagegroup = case_when(wage_total < 100 ~ 'below 100 €/m', wage_total >= 100 & wage_total <= 546 ~ '100 - 546 €/m', wage_total >= 546,1 &

我正试图在已有的连续工资变量的基础上创建一个新的工资组变量。这是我的代码,它在其他类似情况下运行良好:

     df  <-  df %>% mutate(wagegroup = case_when(wage_total < 100 ~ 'below 100 €/m',
    wage_total >= 100 & wage_total <= 546 ~ '100 - 546 €/m', 
    wage_total >= 546,1 & wage_total <= 1000 ~ '565,1 - 1000 €/m', 
    wage_total >= 1000,1 & wage_total <= 1500 ~ '1000,1 - 1500 €/m', 
    wage_total >= 1500,1 & wage_total <= 2000 ~ '1500,1 - 2000 €/m', 
    wage_total >= 2000,1 ~ 'over 2000,1 €/m'))
df%突变(wagegroup=case_当(工资总额<100~“低于100欧元/m”时),
工资总额>=100,工资总额=546,1,工资总额=1000,1,工资总额=1500,1,工资总额=2000,1~‘超过2000,1欧元/m’)
我得到一个错误代码:

x Case 3 (`wage_total < 100 ~ "below 100 \200/m"`) must be a two-sided formula, not a logical vector.
x情况3(`wage_total<100~”低于100\200/m`)必须是双面公式,而不是逻辑向量。

我想知道这里怎么了?我只是Rstudio的初学者,因此我非常感谢您的帮助:)

您的代码中似乎有一些无关字符。我尽力猜测你想做什么:

df <- data.frame(wage_total = c(100, 200, 300, 500, 600, 1020, 1038))

df  <-  df %>% mutate(wagegroup = case_when(wage_total < 100 ~ 'below 100 €/m',
                                            wage_total >= 100 & wage_total <= 546 ~ '100 - 546 €/m', 
                                            wage_total >= 546 & wage_total <= 1000 ~ '565 - 1000 €/m', 
                                            wage_total >= 1000 & wage_total <= 1500 ~ '1000 - 1500 €/m', 
                                            wage_total >= 1500 & wage_total <= 2000 ~ '1500 - 2000 €/m', 
                                            wage_total >= 2000 ~ 'over 2000 €/m'))

df
#   wage_total       wagegroup
# 1        100   100 - 546 €/m
# 2        200   100 - 546 €/m
# 3        300   100 - 546 €/m
# 4        500   100 - 546 €/m
# 5        600  565 - 1000 €/m
# 6       1020 1000 - 1500 €/m
# 7       1038 1000 - 1500 €/m
df=100,工资总额=546,工资总额=1000,工资总额=1500,工资总额=2000~‘超过2000欧元/m’)
df
#工资总额
#1100-546欧元/百万
#22000-546欧元/百万
#33000-546欧元/百万
#4500 100-546欧元/百万
#5600565-1000欧元/百万
#61020 1000-1500欧元/百万
#710381000-1500欧元/百万

最后4行中出现的
,1
似乎有问题。为了让我们帮助您,请编辑您的问题以包含一个。例如,要生成最小数据集,可以使用
head()
subset()
或索引。然后使用
dput()
给我们一些可以立即放入R的东西。另外,请确保你知道该怎么做。有关更多信息,请访问StackOverflow's。非常感谢。当条件满足时,可以简化情况。。。什么时候(工资总额<100~'低于100欧元/m',工资总额<546~'100-545欧元/m',工资总额<1000-546-999欧元/m',工资总额<1500-1000-1499欧元/m',工资总额<2000年~'1500-1999年€/m',真实~'1999年€/m'))