【发布时间】:2023-03-07 19:47:01
【问题描述】:
我的函数在独立的基础上工作,但拒绝在管道中工作。我的语法有问题:
library(tidyverse)
phase1_function <- function(a1, a2, a3, a4) {
if(any(is.na(a1), is.na(a2), is.na(a3), is.na(a4))){
return("") }
if(a4 < a3){
if(a3 < a2){
if(a2 < a1) {"phase_1"}
} } else {""}
}
# This works
phase1_function(1, 2, 3, NA)
phase1_function(31, 30, 29, 28)
x <- c(1:31)
# This refuses to work
data.frame(x = x) %>%
mutate(x1 = Hmisc::Lag(x),
x2 = Hmisc::Lag(x1),
x3 = Hmisc::Lag(x2)) %>%
mutate(x4 = phase1_function(x, x1, x2, x3))
请你帮我看看我的语法
【问题讨论】: