所以我试图在使用来自 https://www.kaggle.com/abcsds/pokemon
的数据集的同时学习 Rdata = read.csv("Pokemon.csv")
data$Name = sub(".*(Mega)", "Mega", data$Name) # replacing name duplications
并且我想找到在任何列(总计、攻击、HP 等)上具有最大值的所有口袋妖怪:
我知道我可以这样做:sapply(data[5:11], max, na.rm = TRUE)
找出最大值和类似的东西
data[which.max(data$Total),]
data[which.max(data$HP),]
data[which.max(data$Attack),]
查找所有具有最大值的行。
有没有一种方法可以使用 sapply 之类的东西来获取所有行而无需按顺序遍历它们?
答案 0 :(得分:0)
我相信这就是你想要的
我为此使用 tidyverse
,因为数据是宽格式的,并且有不同的 stat 列,我首先使用 pivot_longer
将其转换为长格式,然后我使用 group_by
stats 列和 { {1}} 每组达到预期结果的最大值。
filter