R 在数据框中识别手动与自动

R 在数据框中识别手动与自动,r,group-by,R,Group By,我有一个表示应用程序的数据集。有一个名为“Text”的字符串列。填充字符串列时,这意味着记录是手动处理的。当字符串列由“?”填充时,这意味着记录被自动处理。有多行表示单个应用程序 如果一个应用程序有一行指示它是手动处理的,另一行指示它是自动处理的,则它总是恢复为手动处理 数据帧: App Text 1 Hello 2 Happening 3 Sly 3 ? 4 Hat 5 Hello 5 Juice 6

我有一个表示应用程序的数据集。有一个名为“Text”的字符串列。填充字符串列时,这意味着记录是手动处理的。当字符串列由“?”填充时,这意味着记录被自动处理。有多行表示单个应用程序

如果一个应用程序有一行指示它是手动处理的,另一行指示它是自动处理的,则它总是恢复为手动处理

数据帧:

App     Text
1       Hello
2       Happening
3       Sly
3       ?
4       Hat
5       Hello
5       Juice
6       ?
7       Hello
7       Happening
7       ?
8       ?
我想创建一个新的列来标识如何处理记录。我试过用语句和计数“?”来分组,但没有成功

期望输出:

App     Decision
1       Manual
2       Manual
3       Manual
4       Manual
5       Manual
6       Automated
7       Manual
8       Automated

这里有一个选择。按“应用程序”分组后,
总结
,根据“文本”中的所有元素是否都是

library(dplyr)
df1 %>% 
  group_by(App) %>%
  summarise(Decision = c( "Manual", "Automated")[all(Text == "?") + 1])
# A tibble: 8 x 2
#    App Decision 
#  <int> <chr>    
#1     1 Manual   
#2     2 Manual   
#3     3 Manual   
#4     4 Manual   
#5     5 Manual   
#6     6 Automated
#7     7 Manual   
#8     8 Automated
数据
df1还可以
总结(Decision=if_else(all(Text=“?”),“Automated”,“Manual”)
,它读起来更像是你可能会说出来的loud@CalumYou是的,因为它是一个单一的真/假,我想
if/else
更合适。你喜欢吗
df1 %>%
   group_by(App) %>%
   summarise(Decision = if(all(Text == "?")) "Automated" else "Manual")
df1 <- structure(list(App = c(1L, 2L, 3L, 3L, 4L, 5L, 5L, 6L, 7L, 7L, 
7L, 8L), Text = c("Hello", "Happening", "Sly", "?", "Hat", "Hello", 
"Juice", "?", "Hello", "Happening", "?", "?")),
class = "data.frame", row.names = c(NA, 
-12L))