首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R中的聚合为另一个变量的相同值查找一个变量的唯一值

使用R中的聚合为另一个变量的相同值查找一个变量的唯一值
EN

Stack Overflow用户
提问于 2015-09-12 10:54:45
回答 3查看 6.8K关注 0票数 3

我想在这个数据框架中应用聚合函数:

代码语言:javascript
运行
复制
A <- data.frame(c(1:2,1:2,2),c("a","c","b","c","d"))
colnames(A) <- c("ola","hi")
A

> A
  ola hi
1   1  a
2   2  c
3   1  b
4   2  c
5   2  d

若要获得A的有序值A$ola和相应的唯一值A$hi,如下所示:

代码语言:javascript
运行
复制
A <- data.frame(c(1:2),c("a,b","c,d"))
colnames(A) <- c("ola","hi")
> A
  ola  hi
1   1 a,b
2   2 c,d

我试过这个代码:

代码语言:javascript
运行
复制
aggregate(A, by=list(A$ola), FUN=unique)

但它的结果是:

代码语言:javascript
运行
复制
  Group.1 ola hi.1 hi.2
1       1   1    a    b
2       2   2    c    d

有人能解释一下我做错了什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-12 12:45:03

除了paste方法之外,如果我们希望使用“hi”列作为list

代码语言:javascript
运行
复制
r1 <- aggregate(hi~ola, unique(A), FUN=list)
r1
#  ola   hi
#1   1 a, b
#2   2 c, d

OP的代码提供了一个data.frame

代码语言:javascript
运行
复制
r2 <- aggregate(hi~ola, A, FUN=unique)
r2
#  ola hi.1 hi.2
#1   1    a    b
#2   2    c    d

有两列,其中第二列“hi”是matrix

代码语言:javascript
运行
复制
str(r2)
#'data.frame':  2 obs. of  2 variables:
#$ ola: int  1 2
#$ hi : chr [1:2, 1:2] "a" "c" "b" "d"
票数 6
EN

Stack Overflow用户

发布于 2015-09-12 12:11:38

如果您确实想要一个包含唯一项文本的列,您只需要一个更复杂的函数。

代码语言:javascript
运行
复制
uniqCSV <- function(x) { paste(unique(x), sep = ',') }
aggregate(hi ~ ola, data = A, FUN= uniqCSV)
票数 2
EN

Stack Overflow用户

发布于 2015-09-12 12:49:39

另一种选择:

代码语言:javascript
运行
复制
library(dplyr)
distinct(A) %>% group_by(ola) %>% summarise(hi = toString(hi))

这意味着:

代码语言:javascript
运行
复制
#Source: local data frame [2 x 2]
#
#    ola    hi
#  (int) (chr)
#1     1  a, b
#2     2     c

数据

代码语言:javascript
运行
复制
A <- structure(list(ola = c(1L, 2L, 1L, 2L), hi = structure(c(1L, 
3L, 2L, 3L), .Label = c("a", "b", "c"), class = "factor")), .Names = c("ola", 
"hi"), row.names = c(NA, -4L), class = "data.frame")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32537981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档