这可能很简单:
我喜欢在variableB或variableA 中创建条件“ value。”
这有什么作用:
var1 %in% c("value1", "value2")
条件:var1是value1或value2
var2 | var3 %in% 1
条件:var1为1或var2为1(var1和var2为0/1的假人)
有了这些,我可以解决重复的代码:
var1 == "value1" | var1 == "value2"
和
var2 == 1 | var3 == 1
我想要替换的是
var4 == "value1" | var5 == "value1"
可重复的例子:
(我遗漏了var1-var3)
var4 <- c("value1", "valuex")
var5 <- c("valuey", "value1")
df <- data.frame(var4, var5)
我使用dplyr包中的case_when(),但它也应该与基本R ifelse一起使用。
df <- df %>% mutate(newvar= case_when( CONDITION HERE ~ "value1",
TRUE~"else"))
如果在var1或var2中有value1,则新变量应为value1
(关于stackoverflow的第一个问题。抱歉任何不明确。)
答案 0 :(得分:2)
如果我们需要检查&#39; value1&#39;存在于每行的任何一列中,使用filter_all
和any_vars
df %>%
filter_all(any_vars(. =="value1"))
对于特定的列子集,请使用filter_at
df %>%
filter_at(vars(matches("var\\d+")), any_vars(.== "value1"))
要根据多列比较创建二进制列,请使用mutate_at
(如果需要比较所有列,则为mutate_all
),reduce
为单个逻辑/整数向量并将其绑定为列以在数据集
library(dplyr)
library(purrr)
df %>%
mutate_at(vars(matches("var\\d+")), funs(.=="value1")) %>%
reduce(`|`) %>%
as.integer %>%
bind_cols(df, new_var = .)
答案 1 :(得分:1)
Google.Apis.Requests.RequestError
Calendar usage limits exceeded. [403]
Errors [
Message[Calendar usage limits exceeded.] Location[ - ] Reason[quotaExcee
ded] Domain[usageLimits]
]
相当于var recurringEvent = calendarService.Events.Insert(newEvent, "primary");
recurringEvent.SendNotifications = true;
//exponential back-off
Retry.Do(() => recurringEvent.Execute(), TimeSpan.FromSeconds(5));
在data.frame中你可以这样做:
var4 == "value1" | var5 == "value1"