r根据另一列的平均值列出顶部值
我从csv文件(mydata.csv)加载了数据 我想使用的两个列(mydata['name']和mydata['score'])的数据如下r根据另一列的平均值列出顶部值,r,R,我从csv文件(mydata.csv)加载了数据 我想使用的两个列(mydata['name']和mydata['score'])的数据如下 name score sally 5 peter 10 sally 50 peter 25 mandy 100 mandy 0 数据集有3个以上的名称,但出于示例目的,我只给出了3个名称。我想做的是获得平均得分最高的前10名并存储这些信息 另外,如果我想在ggplot中使用x表示名称,y表示分数,将
name score
sally 5
peter 10
sally 50
peter 25
mandy 100
mandy 0
数据集有3个以上的名称,但出于示例目的,我只给出了3个名称。我想做的是获得平均得分最高的前10名并存储这些信息
另外,如果我想在ggplot中使用x表示名称,y表示分数,将这些点(名称、分数)绘制为图形,那么存储结果(数组、列表等)的最佳数据类型是什么。我创建了数据框,并将自己限制为2个平均分数最高的名称,而不是原来的10个,因为数据限制:
df<-data.frame(name =c('sally','peter','sally','peter','mandy','mandy'),score=c(5,10,50,25,100,0))
library("dplyr")
FinalOutput <- df %>%
group_by(name) %>% #group by name
summarise(avg_score=mean(score)) %>% #create variabele "avg_score" which hold the mean of scores for each name
top_n(2) %>% #select the top 2, you can change it to 10 with your real data
arrange(desc(avg_score)) #arrange in a descending fashion to get the names with highest avg_score
下面是它的示意图:
print(ggplot(data = FinalOutput, aes(x = name, y = avg_score))+ geom_point())
我创建了dataframe,由于数据限制,我将自己限制为2个平均得分最高的名字,而不是原来的10个:
df<-data.frame(name =c('sally','peter','sally','peter','mandy','mandy'),score=c(5,10,50,25,100,0))
library("dplyr")
FinalOutput <- df %>%
group_by(name) %>% #group by name
summarise(avg_score=mean(score)) %>% #create variabele "avg_score" which hold the mean of scores for each name
top_n(2) %>% #select the top 2, you can change it to 10 with your real data
arrange(desc(avg_score)) #arrange in a descending fashion to get the names with highest avg_score
下面是它的示意图:
print(ggplot(data = FinalOutput, aes(x = name, y = avg_score))+ geom_point())
print(ggplot(data = FinalOutput, aes(x = name, y = avg_score))+ geom_point())