[問題] Data frame 篩選

作者: winter7531 (E04)   2020-09-26 22:32:50
圖為 https://imgur.com/a/lyA1TRJ
想請問高手
A_IQ <- mean (as.matrix (subset(X, bloodtype=="A", IQ))); A_IQ
B_IQ <- mean (as.matrix (subset(X, bloodtype=="B", IQ))); B_IQ
AB_IQ <- mean (as.matrix (subset(X, bloodtype=="AB", IQ))); AB_IQ
O_IQ <- mean (as.matrix (subset(X, bloodtype=="O", IQ))); O_IQ
X為以上圖
目前只算出各血型的平均IQ,
但不知道要怎麼顯示誰才是最高的IQ
EX:A血型的平均IQ最高
作者: keroro3456 (小朝)   2020-09-26 23:00:00
先對血型做groupby的mean之後再找平均的最大值?
作者: winter7531 (E04)   2020-09-26 23:09:00
↑是
作者: locka (locka)   2020-09-27 00:09:00
X %>% group_by(bloodtype) %>% summarize(meanIQ = mean(IQ)) %>% top_n(1,meanIQ)(以上為使用dplyr套件做法)
作者: andrew43 (討厭有好心推文後刪文者)   2020-09-27 22:24:00
算分組平均的內建方法有aggregate()或tapply()之後再找最大值大概就max或sort或order來做
作者: rebe212296 (綠豆冰)   2020-10-02 16:41:00
dplyr套件的arrange(data,data$IQ)你應該先把全部資料令成data,方便後續分析X<-data.table(X)library(dplyr)X_analysis<-X%>%arrange(IQ)%>% group_by(bloodtype)

Links booklink

Contact Us: admin [ a t ] ucptt.com