我使用R mutate来更新具有计算函数的特定(条件)行,即nrow()
,以使用add(+)值进行更新。我不能使用apply()
,因为我只需要为特定值更新一(1)行。
例如,当找到行Year == 2007和Month == 06时,添加Incoming.Exam + nrow(df3),这样该行将是698 + nrow值。
我从mutate impl得到以下错误:
mutate_impl(.data,dots)中的错误:列
abberville_LA
必须是长度96(行数)或一个,而不是4
abberville_LA %>%
mutate(abberville_LA, Incoming.Exam = ifelse(abberville_LA$Year == 2007 & abberville_LA$Month == 06, abberville_LA, Incoming.Exam + nrow(abberville_df3), abberville_LA$Incoming.Exam))
head(abberville_LA, 3)
Incoming.Exam Year Month ts_date
1 698 2007 6 2007-06-01
2 NaN 2010 6 2010-06-01
1.你的问题不明确,所以我试图理解你想要的东西并回答这个问题
2.你正在使用$ mut in mutate,这不是必需的。运行以下代码应该可以解决问题。
abberville_LA %>%
mutate(Incoming.Exam = ifelse(Year == '2007' & Month == '06', Incoming.Exam + nrow(abberville_df3),Incoming.Exam))
问题是图书馆dplyr。我发现我有一个稍微旧版本,需要更新以解决“mutate_impl(.data,dots)中的错误:评估错误:as_dictionary()从rlang 0.3.0开始失效。请使用as_data_pronoun()代替”错误消息,它指出应该使用另一个版本的dplyr。这修复了在此论坛上作为答案提供的代码。