为基数R中的因数选择最大值

易变的

我正在尝试找出钻石数据集中每个克拉因子水平的最高价格:

diamonds[,'carat']<-factor(diamonds[,'carat'])
df<-with(diamonds, tapply(diamonds$price, diamonds$carat, max))

输出是只有两列的数据帧。我希望我的df包含数据集中的所有其他列。另外,我希望表保留列的名称。现在df中的两行是“行名”和“ x”。谢谢。

阿克伦

您可以尝试ave是否需要在现有数据集中创建一个新列

library(ggplot2)
data(diamonds)
diamonds$Max <- with(diamonds,ave(price, carat,FUN= max))

或者,如果您需要max每个“克拉”组的行具有“价格”值的行

library(dplyr)
res1 <- diamonds %>% 
             group_by(carat) %>%
             slice(which.max(price)) 

或者

library(data.table)
res2 <- as.data.table(diamonds)[,.SD[which.max(price)] , carat]

或者

library(sqldf)
nm1 <- setdiff(names(diamonds), 'price')
nm1[6] <- paste0("[",(nm1[6]),"]")
res3 <- sqldf(sprintf('select %s,
                       max(price) as price
                       from diamonds
                       group by carat',
                       toString(nm1)))

或使用 base R

res4 <- do.call(rbind,lapply(split(diamonds, diamonds$carat), 
                  function(x) x[which.max(x$price),]))

如果我们需要所有max值而不是上面的解决方案which.max则可以使用Price==max(Price)此外,基于的解决方案ave将是

res5 <- diamonds[with(diamonds, ave(price, carat, FUN=max)==price),]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在分区中为熊猫数据框选择最大值

来自分类Dev

为字典python中的每个键选择最大值

来自分类Dev

选择R中每列的最大值

来自分类Dev

在R中为仿真添加最大值

来自分类Dev

从SQL选择中返回最大值

来自分类Dev

选择的最大值

来自分类Dev

为其他两列中的每个值从列中选择最大值

来自分类Dev

合并r中的列值时,如何选择较高(最大值)的值

来自分类Dev

如何在SQL中为属性选择最大值的行

来自分类Dev

排除R中的重复最大值

来自分类Dev

R(dplyr)中的条件最大值?

来自分类Dev

在 R 中为 DF 中的每一行找到最大的最大值和第二大的最大值

来自分类Dev

选择表中某个值的名称(例如,最大值)

来自分类Dev

如何按名称分组,然后仅选择R中每个分组的最大值?

来自分类Dev

选择多个最大值

来自分类Dev

选择列的最大值

来自分类Dev

SQL选择最大值

来自分类Dev

选择单个最大值

来自分类Dev

在R中为data.table按组查找最大值的索引

来自分类Dev

如何以最大值为条件重塑R中的数据帧?

来自分类Dev

将R中的行设置为两个最大值

来自分类Dev

在R中为数据表按组查找最大值的索引

来自分类Dev

仅选择SQL关系中的最大值?

来自分类Dev

SQL-选择一行中的最大值

来自分类Dev

在oneliner中选择数组中的n个最大值

来自分类Dev

SQL选择从结果最大值中获取的位置

来自分类Dev

选择组中的“最大值”及其身份密钥

来自分类Dev

选择表中每个最大值的ID

来自分类Dev

选择最大值中偶数索引处的元素