我有两个带有一些共同值的向量,但长度不同:
x <- 1:10
# [1] 1 2 3 4 5 6 7 8 9 10
y <- c(3, 5, 8)
# [1] 3 5 8
Run Code Online (Sandbox Code Playgroud)
我想将这两个向量组合成一个数据帧并产生以下结果:
data.frame(big = x,
small = c(NA, NA, 3, NA, 5, NA, NA, 8, NA, NA))
# big small
# 1 1 NA
# 2 2 NA
# 3 3 3
# 4 4 NA
# 5 5 5
# 6 6 NA
# 7 7 NA
# 8 8 8
# 9 9 NA
# 10 10 NA
Run Code Online (Sandbox Code Playgroud)
一种可能性是使用matchlong和short之间的短向量索引,并将nomatch参数设置为NA(" 在没有找到匹配时的情况下返回的值 ").
data.frame(big = x,
small = y[match(x, y, nomatch = NA)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |