首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将列添加到数据框中,以使添加的值增加R中的总行计数?

如何将列添加到数据框中,以使添加的值增加R中的总行计数?
EN

Stack Overflow用户
提问于 2018-06-05 05:38:53
回答 1查看 51关注 0票数 0

我是R的新手,想要将列添加到具有值的现有数据框中。例如,假设这是我当前的表

代码语言:javascript
复制
Column 1  |  Column 2  | Column 3
---------------------------------
Dog       |    Hound   |   Black
Doggo     |    Lab     |   Brown

我想添加另一列,这样结果将如下所示:

代码语言:javascript
复制
Column 1  |  Column 2  | Column 3 |  Column 4
---------------------------------------------
Dog       |    Hound   |   Black  |  Male
Dog       |    Hound   |   Black  |  Female
Doggo     |    Lab     |   Brown  |  Male
Doggo     |    Lab     |   Brown  |  Female

因此,这几乎就像是添加了另一个维度,但有一列。任何帮助都将不胜感激!

编辑:在这里找到解决方案https://stackoverflow.com/a/21911221/9882844

第二次编辑:下面的注释中的解决方案实际上更好

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 05:55:53

您可以使用带有参数all=TRUEmerge

代码语言:javascript
复制
df2 <- data.frame(Column4 = c("Male","Female"),stringsAsFactors = FALSE)

merge(df,df2,all = T)
#   Column1 Column2 Column3 Column4
# 1     Dog   Hound   Black    Male
# 2   Doggo     Lab   Brown    Male
# 3     Dog   Hound   Black  Female
# 4   Doggo     Lab   Brown  Female

您还可以使用tidyr库中的crossing,它将返回预期输出的顺序:

代码语言:javascript
复制
tidyr::crossing(df,df2)
#   Column1 Column2 Column3 Column4
# 1     Dog   Hound   Black    Male
# 2     Dog   Hound   Black  Female
# 3   Doggo     Lab   Brown    Male
# 4   Doggo     Lab   Brown  Female

data

代码语言:javascript
复制
df <- read.table(text="Column1    Column2   Column3
Dog           Hound      Black
Doggo         Lab        Brown",h=T,strin=F)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50689145

复制
相关文章

相似问题

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