r - 如何插入 NA 行来填充列以创建完整的连续数据集

标签 r na fill missing-data continuous

我目前拥有数据集:

Time Var1 Var2 Cat
1    14   16   1
2    16   98   1
4    52   68   1
7    17   12   1
1    57   58   2
3    45   35   2 
4    33   12   2
7    77   1    2

并希望能够为每个类别创建连续时间变量,如下所示:

   Time Var1 Var2 Cat
    1    14   16   1
    2    16   98   1
    3    NA   NA   1
    4    52   68   1
    5    NA   NA   1
    6    NA   NA   1
    7    17   12   1
    1    57   58   2
    2    NA   NA   2
    3    45   35   2 
    4    33   12   2
    5    NA   NA   2
    6    NA   NA   2
    7    77   1    2

我正在努力能够估算每个类别的所有数据行。

非常感谢所有帮助。

最佳答案

基本R解决方案:

df <- read.table(text = "Time Var1 Var2 Cat
1    14   16   1
2    16   98   1
4    52   68   1
7    17   12   1
1    57   58   2
3    45   35   2 
4    33   12   2
7    77   1    2", header = T)

df2 <- expand.grid(Time = 1:7, Cat = 1:2)

df3 <- merge(df, df2, by = c("Time", "Cat"), all = T)
df3 <- df3[order(df3$Cat, df3$Time), c(1, 3, 4, 2)]

> df3
   Time Var1 Var2 Cat
1     1   14   16   1
3     2   16   98   1
5     3   NA   NA   1
7     4   52   68   1
9     5   NA   NA   1
11    6   NA   NA   1
13    7   17   12   1
2     1   57   58   2
4     2   NA   NA   2
6     3   45   35   2
8     4   33   12   2
10    5   NA   NA   2
12    6   NA   NA   2
14    7   77    1   2

关于r - 如何插入 NA 行来填充列以创建完整的连续数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47907899/

相关文章:

r - 使用 apply family 函数通过对多个其他列进行操作来创建多个数据框列

r - NA 识别 boolean 运算符

r - NA在boxplot ggplot2中绘制

用 R 列中的下一个非零值替换 0

r - 某个因素级别内的记录计数

r - ifelse 在非矢量化情况下是否合适,反之亦然?

r - R 中的连接矩阵

r - 如何有条件地将多列中的值替换为 NA

c# - 构建一个位图,用较小的图像填充它

html - 如何让div填充剩余空间?