我有一个如下的数据框架:
head(df)
Sl.no Date Year Month Season concentration
1 1 1993-12-01 1993 Dec Winter 20.0
2 2 1994-01-01 1994 Jan Winter 21.0
3 3 1994-02-01 1994 Feb Winter 20.0
4 4 1994-03-01 1994 Mar Spring 21.5
5 5 1994-04-01 1994 Apr Spring 29.0
6 6 1994-05-01 1994 May Spring 40.0我想在数据框中添加一列,以便所有12月、1月、2月、3月、4月显示“低流量”,其余月份显示“高流量”。
我尝试了以下几种方法:
df$hflf <- if (df$Month==c("Dec", "Jan", "Feb", "Mar", "Apr"))
{"low flow"} else {"high flow"}.但它似乎不起作用。
我如何才能做到这一点。您的帮助将不胜感激
发布于 2018-03-19 14:29:10
正如@akrun在评论中建议的那样,你可以这样做:
lowflow <- c("Dec", "Jan", "Feb", "Mar", "Apr")
df$hflf <- ifelse(df$Year %in% lowflow, "low flow", "high flow")使用dplyr包,您还可以执行以下操作:
df <- df %>% mutate(hflf2 = case_when(Year %in% lowflow~"low flow", TRUE~"high flow"))https://stackoverflow.com/questions/49356927
复制相似问题