如何在R中找到group-wise的意思?
问题描述:
我的数据集的头像是这样的。如何在R中找到group-wise的意思?
Hotel_name Review_Title Sentiment
1 Accord Metropolitan Excellent comfortableness during stay 3
2 Accord Metropolitan Excellent comfortableness during stay 3
3 Accord Metropolitan Excellent comfortableness during stay 3
4 Accord Metropolitan Excellent comfortableness during stay 3
5 Accord Metropolitan Excellent comfortableness during stay 3
6 Accord Metropolitan Not too comfortable 1
Rating_Percentage X X.1 X.2 X.3 word
1 100 NA NA NA nice
2 100 NA NA NA stay
3 100 NA NA NA business
4 100 NA NA NA tourist
5 100 NA NA NA purpose
6 20 NA NA NA hotel
我想找到每家酒店的平均情绪。像
HOTEL_NAME情绪
X 2.6
Ÿ2.2
答
这看起来就像dplyr的好用例
library("dplyr")
data %>%
group_by(Hotel_name) %>%
summarise(mean_sentiment = mean(Sentiment))
答
您可以使用data.table包,改变你的数据data.table通过setDT:
library(data.table)
setDT(data)[,.(Sentiment= mean(Sentiment)),by=Hotel_Name]
我得到Na作为输出以及此警告。 –
1:在mean.default(Sentiment)中:参数不是数字或逻辑:返回不适用 –
这可能是因为Sentiment不是数字变量(尝试'class(data $ Sentiment)' - 我的猜测是它被读入作为一个因素?您可以将上述内容更新为: 'data%>% mutate(Sentiment = as.numeric(Sentiment))%>% group_by(Hotel_name)%>% summary(mean_sentiment = mean(Sentiment)) ' – Lucy