Pau*_*ola 2 if-statement r date dplyr data.table
如果给定条件成立,我想用固定日期替换给定列(日期格式)中的 NA 值。
在下面的示例中,我想用if 条件成立替换列NA中的值。我正在寻找最简单的方法,无论是在或中。dt"2012-07-01"a==4dplyrdata.table
> df1 <- data.table(a = c(1, 2, 3, 4),
+ dt = as.Date(c("2012-06-01", "2012-07-01", NA, NA)))
> df1
a dt
1: 1 2012-06-01
2: 2 2012-07-01
3: 3 <NA>
4: 4 <NA>
Run Code Online (Sandbox Code Playgroud)
和data.table
df1[a == 4 & is.na(dt), dt := as.Date("2012-07-01")]
a dt
<num> <Date>
1: 1 2012-06-01
2: 2 2012-07-01
3: 3 <NA>
4: 4 2012-07-01
Run Code Online (Sandbox Code Playgroud)
为了完整性,在 Base R 中:
df1[df1$a == 4 & is.na(df1$dt), "dt"] <- "2012-07-01"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |