我有一个像这样的数据框,
ColA ColB
Asd 1
Asdf 3
我想在数据框中添加一个新列,假设新列的值为2000,2001,2002。需要为ColA中的每个值添加这些值。
所以我的预期数据框是,
ColA ColB Year
Asd 1 2000
Asd 1 2001
Asd 1 2002
Asdf 3 2000
Asdf 3 2001
Asdf 3 2002
答案 0 :(得分:1)
使用data.table
,我们可以按ColA, ColB
进行分组,并将'year'序列作为列
library(data.table)
setDT(df1)[, .(Year = 2000:2002), .(ColA, ColB)]
或tidyverse
library(tidyr)
crossing(df1, year = 2000:2002)
# ColA ColB year
#1 Asd 1 2000
#2 Asd 1 2001
#3 Asd 1 2002
#4 Asdf 3 2000
#5 Asdf 3 2001
#6 Asdf 3 2002