簡體   English   中英

是否有 R 函數來填充以列為條件的值?

[英]Is there an R function to fill up values conditional to column?

我有一個示例對象

a <- 1 2 3 4 5 帶有維度名稱 2001 2002 2003 2004 2005

我還有一個對象

b <- 11 22 33 44 55 帶有維度名稱 1999 2001 2003 2006 2007

我有一年矢量

年份 <- c (1999:2007)

我想用 NA 填充 1999 年到 2007 年之間目前缺失的 a 值。

同樣,我想用 NA 填充 1999 年到 2007 年之間當前缺失的 b 值。

假設 'a' 和 'b' 被命名為vector s,使用 'year' 向量創建NA s 的命名向量,然后使用 'a' 的names將 'a' 的值分配到該新vector

v1 <- setNames(rep(NA, length(year)), year)
v1[names(a)] <- a

同樣,在 'b' 上也這樣做

v2 <- setNames(rep(NA, length(year)), year)
v2[names(b)] <- b

-輸出

> v2
1999 2000 2001 2002 2003 2004 2005 2006 2007 
  11   NA   22   NA   33   NA   NA   44   55 

數據

a <- structure(1:5, .Names = c("2001", "2002", "2003", "2004", "2005"
))

b <- c(`1999` = 11, `2001` = 22, `2003` = 33, `2006` = 44, `2007` = 55
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM