在case_when内部使用ifelse作为函数

时间:2019-10-21 10:20:43

标签: r dplyr tidyverse

我想将tree_limit opart放在import React, { Component } from "react"; import { Formik, Form, Field, ErrorMessage } from "formik"; import * as Yup from "yup"; import { withRouter } from "react-router-dom"; class Login extends Component { constructor(props) { super(props); } render() { return ( <div id="loginContainer" className="signinup-container"> <h3 className="mb-4"> Log In </h3> <Formik initialValues={{ email: "", password: "", rememberMe: false, error: "" }} validationSchema={Yup.object().shape({ email: Yup.string() .required("Please enter email to login.") .email("Please enter a valid email."), password: Yup.string().required("Please enter your password.") })} onSubmit={(values, { resetForm, setErrors, setSubmitting }) => { setTimeout(() => { console.log("Logging in", values); setSubmitting(false); return <Redirect to="/dashboard" />; //this.props.history.replace("/dashboard"); //this.props.history.push('/dashboard'); }, 500); }} > {props => { const { values, touched, errors, isSubmitting, handleChange } = props; return ( <Form id="loginForm" className="signinupForm" noValidate> <ErrorMessage name="error" component="span" className="login-error" /> <div className="form-group "> <label className="form-label" htmlFor="email"> Email </label> <Field type={"email"} name="email" placeholder="Enter your email" className={ "form-control" + (errors.email && touched.email ? " is-invalid" : "") } /> <ErrorMessage name="email" component="span" className="invalid-input" /> </div> {/* Email */} <div className="form-group position-relative"> <label className="form-label" htmlFor="password"> Password </label> <Field type={"password"} name="password" placeholder="Enter your password" className={ "form-control" + (errors.password && touched.password ? " is-invalid" : "") } /> <ErrorMessage name="password" component="span" className="invalid-input" /> </div> {/* Password */} <div className="form-group"> <label className="form-label" htmlFor="rememberMe"> <input type="checkbox" id="rememberMe" name="rememberMe" onChange={handleChange} defaultChecked={values.rememberMe} value={values.rememberMe} /> Remember me </label> </div> {/* Rememeber Me */} {isSubmitting ? ( <span className="loader-gif">loading</span> ) : null} <button type="submit" className="btn btn-filled" disabled={isSubmitting} > Login </button> {/*Submit */} </Form> ); }} </Formik> </div> ); } } export default withRouter(Login); ifelse函数中:

dplyr

进入它自己的功能:

case_when

但是它返回一个错误:

library(mutate)

data(mtcars)

mtcars %>% 
  dplyr::mutate(myVar = case_when(
    mpg > 20 ~ ifelse(cyl == 6, 1, NA_real_),
    TRUE ~ 2
  ))

我应该如何重写该函数以使其正常工作?

0 个答案:

没有答案