将行从一个df复制到另一个行中的每个行

时间:2018-08-30 14:05:13

标签: r loops dataframe

我有两个数据框

一个df仅是包含列的一行:

Description | Location
   Red      |  NH

第二个df包含包含行的多行(比如说3行):

Item_Num | Quantity | Rating | 
    01   |    2     |   A    |
    02   |    5     |   B    |
    03   |    4     |   B+   |

我要使第一个df中的第一行重复第二个中的每一行。

   Description  | Location | Item_Num | Quantity | Rating | 
       Red      |  NH      |    01    |    2     |   A    |
       Red      |  NH      |    02    |    5     |   B    |
       Red      |  NH      |    03    |    4     |   B+   |

我尝试玩循环,但出现错误。加入他们并不适合我,也没有加入密钥

2 个答案:

答案 0 :(得分:2)

一种选择是使用crossing包中的tidyr函数,该函数创建2个数据集的行的组合:

# example datasets
df1 = data.frame(Description = "Red",
                 Location = "NH")

df2 = data.frame(Item = 1:3,
                 Rating = c(20,25,30))

library(tidyr)

crossing(df1, df2)

#   Description Location Item Rating
# 1         Red       NH    1     20
# 2         Red       NH    2     25
# 3         Red       NH    3     30

答案 1 :(得分:0)

这应该有效

req.csrfToken()