簡體   English   中英

如何在數據框中添加一列,以使添加的值增加R中的總行數?

[英]How can I add a column to a data frame such that the values added increase the total row count in R?

我是R的新手,並且想在具有值的現有數據框中添加一列。 例如,說這是我當前的表

Column 1  |  Column 2  | Column 3
---------------------------------
Dog       |    Hound   |   Black
Doggo     |    Lab     |   Brown

我想添加另一列,這樣結果將是這樣的:

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

第二次編輯:下面評論中的解決方案實際上更好

您可以使用參數all=TRUE merge

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 ,它返回預期輸出的順序:

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

數據

df <- read.table(text="Column1    Column2   Column3
Dog           Hound      Black
Doggo         Lab        Brown",h=T,strin=F)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM