首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并列并按字母顺序排列它们的内容

合并列并按字母顺序排列它们的内容
EN

Stack Overflow用户
提问于 2020-12-02 05:53:01
回答 1查看 27关注 0票数 1

我有一个名为issuesdata的数据框架,它是我从一个更大的框架clean.data创建的

代码语言:javascript
复制
issue1 <- as.vector(clean.data$issue1)
issue2 <- as.vector(clean.data$issue2)
issue3 <- as.vector(clean.data$issue3)
issuesdata <- data.frame(issue1, issue2, issue3)

issuesdata %>% dplyr::slice(10:15)
          issue1      issue2      issue3
1       economic        <NA>        <NA>
2       economic unification        <NA>
3       economic        <NA>        <NA>
4 transportation    aviation        <NA>
5        justice        <NA>        <NA>
6        slavery    economic humanrights

我有两个目标:

allissues)

  • The

  • 将这些列合并在一起,以便第四列包含一个字符串中的所有问题(列名:allissues中问题的

  • 文本按字母排列的

)。

例如,allissues的第2行将保持在economic unification格式的be中,而是一个字符串。第4行是Aviation Transportation,而第6行是economic humanrights slavery

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-02 06:01:37

按行丢弃NA值,对它们进行排序并粘贴到一起。

在基数R中:

代码语言:javascript
复制
issuesdata$combine <- apply(issuesdata, 1, function(x) 
                            toString(sort(na.omit(x))))

或者使用dplyr

代码语言:javascript
复制
library(dplyr)

issuesdata %>%
  rowwise() %>%
  mutate(combine = toString(sort(na.omit(c_across()))))

#  issue1         issue2      issue3      combine_data                  
#  <chr>          <chr>       <chr>       <chr>                         
#1 economic       NA          NA          economic                      
#2 economic       unification NA          economic, unification         
#3 economic       NA          NA          economic                      
#4 transportation aviation    NA          aviation, transportation      
#5 justice        NA          NA          justice                       
#6 slavery        economic    humanrights economic, humanrights, slavery
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65102917

复制
相关文章

相似问题

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