gpt4 book ai didi

r - R中的dplyr mutate-将列添加为列的连接

转载 作者:行者123 更新时间:2023-12-03 10:15:19 31 4
gpt4 key购买 nike

我在使用mutate{dplyr}函数时遇到问题,目的是向数据帧添加新列。我希望新列为字符类型,并由其他列中的排序单词的“concat”组成(也为字符类型)。例如,对于以下数据框:

> 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

我想获得一个包含以下第一个元素的新列:
"Alamaba_East South Central_South" 

我尝试了这个:
mutate(states.df,
concated_column = paste0(sort(name, region, division), collapse="_"))

但是我收到一个错误:
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'?

预先感谢您的帮助!

最佳答案

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

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。也许你想要:
as.data.frame(lapply(states.df, sort))

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

关于r - R中的dplyr mutate-将列添加为列的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21752425/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com