【发布时间】:2017-05-21 02:17:08
【问题描述】:
我有一个如下的数据框:
Symptom number
Abdominal pain\n Swallowing probs\n Back issues\n 22
Abdominal pain\n 12
Back issues \n Vomiting \n 14
Back issues\n 5
每个症状短语的末尾总是有一个\n。症状短语本身可以是任何字面意思,所以我不想专门搜索这些术语,而是在\n987654323@
我想对每种症状的 number 进行平均,这样我最终得到:
Symptom Avg
Abdominal pain 17
Swallowing probs 22
Back issues 20.5
Vomiting 14
我不知道如何使用 dplyr 按单个术语进行分组。我试过了
SypmAvg<- df %>% group_by(grepl("(?\\n.*\\n)|($.*?\\n)",df$Symptom)%>% summarise(mean=mean(number)
但它只会让我的电脑崩溃,所以我什至看不到错误。任何人都可以帮忙吗?这只是一个正则表达式问题还是有更好的方法来做到这一点?
【问题讨论】: