首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >dplyr在R- add列中发生突变,作为列的连接

dplyr在R- add列中发生突变,作为列的连接
EN

Stack Overflow用户
提问于 2014-02-13 19:07:37
回答 2查看 67.5K关注 0票数 32

我有一个问题,使用mutate{dplyr}函数的目的是添加一个新的列到数据框架。我想要一个新的列是字符类型的,并由其他列(也是字符类型)中排序的单词组成。例如,对于以下数据帧:

代码语言:javascript
复制
> library(datasets)
> states.df <- data.frame(name = as.character(state.name),
+                         region = as.character(state.region),
+                         division = as.character(state.division))
> 
> head(states.df, 3)
     name region           division
1 Alabama  South East South Central
2  Alaska   West            Pacific
3 Arizona   West           Mountain 

我想获得一个包含以下第一个元素的新专栏:

代码语言:javascript
复制
"Alamaba_East South Central_South" 

我试过这个:

代码语言:javascript
复制
mutate(states.df,
   concated_column = paste0(sort(name, region, division), collapse="_"))

但是我收到了一个错误:

代码语言:javascript
复制
Error in sort(1:50, c(2L, 4L, 4L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 4L, 4L,  : 
  'decreasing' must be a length-1 logical vector.
Did you intend to set 'partial'?

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-13 19:15:01

您需要使用sep =而不是collapse =,为什么要使用sort?而且我用的是paste而不是paste0

代码语言:javascript
复制
library(dplyr)
states.df <- data.frame(name = as.character(state.name),
                        region = as.character(state.region), 
                        division = as.character(state.division))
res = mutate(states.df,
   concated_column = paste(name, region, division, sep = '_'))

就排序而言,您没有正确使用sort。也许你想要:

代码语言:javascript
复制
as.data.frame(lapply(states.df, sort))

这将对每一列进行排序,并使用这些列创建一个新的data.frame

票数 39
EN

Stack Overflow用户

发布于 2016-09-29 22:33:02

对保罗的回答进行补充。如果您想对行进行排序,可以尝试使用order。下面是一个示例:

代码语言:javascript
复制
res1 <- mutate(states.df,
          concated_column = apply(states.df[order(name, region, division), ], 1, 
                                  function(x) paste0(x, collapse = "_")))

在这里,order按名称对data.frame states.df进行排序,然后按区域和分区打破平局

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21752425

复制
相关文章

相似问题

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