首页 > 解决方案 > 基于向量序列用 NA 填充行

问题描述

我有以下内容data.frame

df=data.frame(x=c(1:3,8:10,15),y=rnorm(7))

x           y
1  0.05976784
2 -1.01992023
3 -1.16075185
8  0.48641141
9  0.54460423
10 -0.59915799
15 -0.60785783

我只需要按照df$x从 1 到 17 的顺序用 NA 填充行。

这是我的预期输出:

x           y
1  0.05976784
2 -1.01992023
3 -1.16075185
4  NA
5  NA
6  NA
7  NA
8  0.48641141
9  0.54460423
10 -0.59915799
11  NA
12  NA
13  NA
14  NA
15 -0.60785783
16  NA
17  NA

我怎样才能做到这一点?有什么建议吗?

标签: rdataframerowsnafill

解决方案


使用base::match

data.frame(x=1:17, df$y[match(1:17, df$x)])

推荐阅读