R 如何定义具有两列的指示器
我有这些专栏R 如何定义具有两列的指示器,r,dataframe,R,Dataframe,我有这些专栏 utility pass 2 None 3 NA -1 None -2 NA utility pass indicator 2 None 1
utility pass
2 None
3 NA
-1 None
-2 NA
utility pass indicator
2 None 1
3 NA 0
-1 None 0
-2 NA 0
如果:通过=无且实用程序>0,则指示器为1
输出
我有这些专栏
utility pass
2 None
3 NA
-1 None
-2 NA
utility pass indicator
2 None 1
3 NA 0
-1 None 0
-2 NA 0
一种可能是:
with(df, +(grepl("None", pass, fixed = TRUE) * utility > 0))
[1] 1 0 0 0
假设
NA
是NA
而不是字符,我们可以实现如下所示的所需输出:
使用dplyr
(在时可以使用case\u):
在
中使用:
within(df, {
indicator <- ifelse(!is.na(pass) & utility >0, 1, 0)
})
utility pass indicator
1 2 None 1
2 3 <NA> 0
3 -1 None 0
4 -2 <NA> 0
在(df{
指标0、1、0)
})
公用设施通行指示器
1 2无1
2 3 0
3-1无0
4 -2 0
数据:
df
df <- structure(list(utility = c(2L, 3L, -1L, -2L), pass = structure(c(1L,
NA, 1L, NA), .Label = "None", class = "factor")), class = "data.frame", row.names = c(NA,
-4L))