我有一个df包含列payment_type和的数据框payment_amount。
我想做一个条件变异,如果payment_type是“tpt”或“trt”,它应该进行payment_amount5 次。
df$payment_amount<-df%>%select(payment_amount)%>%filter(payment_type=='tpt' | payment_type=='trt')%>%mutate(payment_amount=payment_amount*100)
Run Code Online (Sandbox Code Playgroud)
但这不起作用。TIA
尝试
df %>%
mutate(pament_amount = case_when(
payment_type == "tpt" | payment_type == "trt" ~ 5 * payment_amount,
TRUE ~ payment_amount
))
Run Code Online (Sandbox Code Playgroud)
df$payment_amount[(df$payment_type=='tpt' | df$payment_type == "trt")]<- df %>%
filter(payment_type=='tpt' | payment_type=='trt')%>%
select(payment_amount)%>%
mutate(payment_amount=payment_amount*100) %>% pull
Run Code Online (Sandbox Code Playgroud)