R:将组中的分类行值合并为单个值
我有一个数据帧,它的结构与下面的结构相似 名称 标签 A. 历史的 A. 喜剧片 B 悲惨的事 C 喜剧片 C 年轻人R:将组中的分类行值合并为单个值,r,dplyr,R,Dplyr,我有一个数据帧,它的结构与下面的结构相似 名称 标签 A. 历史的 A. 喜剧片 B 悲惨的事 C 喜剧片 C 年轻人 以下是使用dplyr执行此操作的方法: library(dplyr) d %>% group_by(Name) %>% summarise(Label1 = list(Label)) Name Label1 <chr> <list> 1 A <chr [2]> 2 B
以下是使用dplyr执行此操作的方法:
library(dplyr)
d %>%
group_by(Name) %>%
summarise(Label1 = list(Label))
Name Label1
<chr> <list>
1 A <chr [2]>
2 B <chr [1]>
3 C <chr [2]>
数据
d这里有一种使用dplyr的方法:
library(dplyr)
d %>%
group_by(Name) %>%
summarise(Label1 = list(Label))
Name Label1
<chr> <list>
1 A <chr [2]>
2 B <chr [1]>
3 C <chr [2]>
数据
dtoString()
如果输出不需要作为listcol
library(dplyr)
d %>% group_by(Name) %>% summarise(Label = toString(Label))
# A tibble: 3 x 2
Name Label
<chr> <chr>
1 A historical, comedy
2 B tragedy
3 C comedy, young adult
库(dplyr)
d%>%分组人(姓名)%>%总结(标签=字符串(标签))
#一个tibble:3x2
姓名标签
历史、喜剧
2 B悲剧
3 C喜剧,年轻人
toString()
如果输出不需要作为listcol
library(dplyr)
d %>% group_by(Name) %>% summarise(Label = toString(Label))
# A tibble: 3 x 2
Name Label
<chr> <chr>
1 A historical, comedy
2 B tragedy
3 C comedy, young adult
库(dplyr)
d%>%分组人(姓名)%>%总结(标签=字符串(标签))
#一个tibble:3x2
姓名标签
历史、喜剧
2 B悲剧
3 C喜剧,年轻人
使用聚合来自基本R
aggregate(Label ~ Name, d, FUN = toString)
使用base R中的aggregate
aggregate(Label ~ Name, d, FUN = toString)
您希望该列具体是什么?就一根线?字符串向量?字符串列表?@bouncyball字符串向量或字符串列表-我不介意格式本身,因为我可以在它们之间进行转换。您希望该列是什么?就一根线?字符串向量?字符串列表?@bouncyball字符串向量或字符串列表-我不介意格式本身,因为我可以在它们之间转换谢谢你的回答。您能解释一下为什么要使用row.names=c(NA,-5L)
和一个结构来创建数据帧,以及它是如何起作用的吗?我修改了我的答案,以显示我是如何通过简单调用data.frame()初始化数据框的,并在summary()中使用list()返回一些数字。底部的部分来自dput
的输出。检查数据中的标签是否是一个因素。如果它是一个因子,则应将其转换为字符。您可以“手动”或在调用data.frame时指定stringsAsFactors=FALSE
,谢谢!那太好了!谢谢你的回答。您能解释一下为什么要使用row.names=c(NA,-5L)
和一个结构来创建数据帧,以及它是如何起作用的吗?我修改了我的答案,以显示我是如何通过简单调用data.frame()初始化数据框的,并在summary()中使用list()返回一些数字。底部的部分来自dput
的输出。检查数据中的标签是否是一个因素。如果它是一个因子,则应将其转换为字符。您可以“手动”或在调用data.frame时指定stringsAsFactors=FALSE
,谢谢!那太好了!