【问题标题】:Is there an R function to fill up values conditional to column?是否有一个 R 函数来填充以列为条件的值?
【发布时间】:2021-12-15 06:25:33
【问题描述】:

我有一个示例对象

a

我还有一个对象

b

我有一个年份向量

年份

我想用 NA 填充 1999 年至 2007 年间当前缺失的 a 值。

同样,我想用 NA 填充 1999 年至 2007 年间当前缺失的 b 值。

【问题讨论】:

  • 当您说出维度名称时。是命名向量吗?

标签: r


【解决方案1】:

假设'a'和'b'被命名为vectors,用'year'向量创建NAs的命名向量,然后使用'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
)

【讨论】:

  • 非常感谢。这解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
相关资源
最近更新 更多