R Round"找不到对象"

时间:2018-01-26 17:08:07

标签: r

我在R中使用round()时出现问题。我的目标是减去两组日期并将结果存储在两个新列中。

我最初编写的代码给了我想要的内容但是新专栏并没有四舍五入。我想绕到十分位置,所以我加入了圆形()。这是结果代码

df_edit <- df %>%
mutate(
    enroll1 = Enroll - dob,
    discha1 = Discharge - dob,
    enroll_age = enroll1 / 365,
    discha_age = discha1 / 365) %>%
round(enroll_age, digits = 2) %>%
round(discha_age, digits = 2) %>%
select(
    Name, 
    RT, 
    Enroll, 
    Discharge, 
    dob, 
    enroll_age, 
    discha_age, 
    everything()
)

此代码提供错误

Error in function_list[[i]](value) : object 'enroll_age' not found

我发现的圆形()写作往往很简单,只是对帮助信息的重复。

因为我正在管道,所以我不应该在舍入时说明我正在使用的数据框,对吗?我试过了

 round(df$enroll_age, digits = 2) %>%
 round(df$discha_age, digits = 2) %>%

得到了这个错误

`function_list [i]中的错误: 传递给&#39; round&#39;的3个参数需要1或2个参数 另外:警告信息: 未知或未初始化的列:&#39; enroll_age&#39;

谢谢!

1 个答案:

答案 0 :(得分:1)

在没有看到您的数据的情况下,当然很难说哪个解决方案最有效,但基本上您需要第二个mutate()进行舍入,或者您可以在第一个mutate中进行舍入

df_edit <- df %>%
mutate(
   enroll1 = Enroll - dob,
   discha1 = Discharge - dob,
   enroll_age = round(enroll1 /365, digits = 2),
   discha_age = round(discha_age /365, digits = 2)