这个问题在这里已有答案:

这是一个基本问题,但我已经坚持了很长一段时间。 我正在尝试对ColumnB中的值进行分组,但只在ColumnA中的每个值中进行分组。

初始数据框将类似于:

ColumnA = c(1,1,1,2,2,2)
ColumnB = c("f","g","g","f","f","h")
df <- data.frame(ColumnA,ColumnB)
ColumnA    ColumnB
    1         f
    1         g
    1         g
    2         f
    2         f
    2         h

结果将是:

ColumnA    ColumnB
    1         f
    1         g
    2         f
    2         h

(我尝试使用的方法之一是使用dplyrgroup_by(df, ColumnB) ,但该尝试未成功。)

#1楼 票数:8

unique功能非常适合(无双关语)来解决您的问题:

df <- data.frame(v1=c(1,1,1,2,2,2), v2=c("f", "g", "g", "f", "f", "h"))
df <- unique(df)

> df1
  v1 v2
1  1  f
2  1  g
4  2  f
6  2  h

#2楼 票数:3 已采纳

您也可以尝试duplicated

df[!duplicated(df),]
#   ColumnA ColumnB
#1       1       f
#2       1       g
#4       2       f
#6       2       h

如果需要,这也会给出行的逻辑索引。

#3楼 票数:2

使用dplyr ,您需要在对它们进行分组后执行操作; 单独分组不会折叠行。 您可以使用summarise()计算某些内容,根据变量选择组中的一行,等等。这是一个使用slice()来选择每个组合组合中的第一条记录的示例:

library(dplyr)
df %>%
  group_by(ColumnA, ColumnB) %>%
  slice(1) # select the first row within each group combination

Source: local data frame [4 x 2]
Groups: ColumnA, ColumnB

  ColumnA ColumnB
1       1       f
2       1       g
3       2       f
4       2       h

  ask by joat1 translate from so

未解决问题?本站智能推荐:

2回复

如何为另一列中的每个唯一值返回列的最大值?[复制]

这个问题在这里已经有了答案: 选择每组中具有最大值的行(17 个回答) 去年关闭。 聚合返回以下数据框,但我只想返回每种颜色的最大计数: 我希望代码返回:
2回复

按R中的dplyr按另一列分组的分类值计数

我想用位置名称来总结一个df。 数据看起来像这样: 我想要的是这个: 我是这样做的: 在dplyr group_by成语中有没有办法做到这一点? 冒着愚蠢的风险,我试着这样做: df_quantvars <- df %>% group_by(location) %&
2回复

在R中折叠重复项,其中仅唯一列值被串联

我需要折叠一张大表(V19,5M),在其中删除基于特定列(V1)的重复项,并合并所有其他列的值(如果唯一)(如果不是,则仅报告一次结果)。 我从这里尝试了一些解决方案,但是这些示例大部分是在2个变量上执行的-我有19个。最终发生的事情是,表的其余部分合并在一个数字列表列中。 输入:
2回复

计算一个列中另一列分组的类别值

R新手在这里,所以请原谅我的无知。 我的数据如下所示: 我想对第2列中每个值的实例进行计数,并按第1列对计数进行分组,以便结果看起来像这样: 有关如何执行此操作的任何想法? 我的dput输出如下。 提前致谢!
2回复

如何计算与R中另一列中的每个值相对应的列中每个值的频率?

我有一个数据集,如下所示: 我希望输出为: 我尝试使用聚合函数以及表函数,但无法获得所需的结果。
3回复

R:在一列中的SumComplete.cases由另一列中的值分组(或排序)

我使用的是airquality数据R中集可用,并试图统计数据中的行不包含任何数量NA s左右,而通过汇总Month 。 数据如下所示: 如你所见,我在Ozone和Solar.R列中有NA 。 我使用函数complete.cases如下: 然后检查: 这很棒。 但现在,我想拉
2回复

R根据一列中的值汇总列中的唯一值

我想根据 var_1 的值知道每列的唯一值总数。 例如: 我正在寻找的结果将基于 var_1 中的值,应该是: 但是,在尝试了各种方法(包括 apply 和 table)之后 - 聚合一直是最接近我正在寻找的东西,但是这个脚本会总结出每个 var_1 值的条目总数,但总数不是独特的 我试过 但这没有
1回复

如何使用由另一列分组的R中的汇总列值制作新的数据框

我之前曾使用dplyr成功添加了聚合列,但是我不确定如何基于另一个列(SkillGroup)的值并按另一列分组来创建一个包含新聚合列(均值)的新的宽数据框(员工ID)。 我原来的DF看起来像这样: 我感兴趣的最终数据框如下所示: