首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当没有ID时,如何将两列组合成一个长列?

当没有ID时,如何将两列组合成一个长列?
EN

Stack Overflow用户
提问于 2022-10-15 19:30:50
回答 2查看 39关注 0票数 0

我有两列在不同的数据框架(每个数据帧只是1列,每列有2000行)与职业信息。我只想将这两列堆叠成1,000行长的列,这样我就可以获取百分比,并绘制一个百分比条形图。

本质上,我想用这样的数据帧:

代码语言:javascript
复制
Occupation1

Lobbyist
Government Employee
Government Employee
Lobbyist
Teacher
Teacher
代码语言:javascript
复制
Occupation2

Lawyer
Government Employee
Lobbyist
Teacher
Teacher

我希望得到这样的结果:

代码语言:javascript
复制
Occupation

Lobbyist
Government Employee
Government Employee
Lobbyist
Teacher
Teacher
Lawyer
Government Employee
Lobbyist
Teacher
Teacher
EN

回答 2

Stack Overflow用户

发布于 2022-10-15 20:58:40

您只需使用rbind()绑定行,使用setNames()更改每个行的名称:

代码语言:javascript
复制
rbind(
  setNames(df1, "Occupation"),
  setNames(df2, "Occupation")
)
票数 0
EN

Stack Overflow用户

发布于 2022-10-15 21:01:35

base R中只需使用unlist

代码语言:javascript
复制
unlist(c(df1$Occupation1, df2$Occupation2))
 [1] "Lobbyist"            "Government Employee" "Government Employee" "Lobbyist"            "Teacher"             "Teacher"             "Lawyer"             
 [8] "Government Employee" "Lobbyist"            "Teacher"             "Teacher"

dplyr中,使用bind_rows并对齐列名:

代码语言:javascript
复制
bind_rows(df1 %>% rename(Occupation = Occupation1), 
          df2 %>% rename(Occupation = Occupation2))
            Occupation
1             Lobbyist
2  Government Employee
3  Government Employee
4             Lobbyist
5              Teacher
6              Teacher
7               Lawyer
8  Government Employee
9             Lobbyist
10             Teacher
11             Teacher
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74082394

复制
相关文章

相似问题

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