【发布时间】:2018-02-23 14:04:41
【问题描述】:
我有一个数据集,我想创建一个多重 ifelse 语句。 我想知道这个人/身份证在 2011 年和 2012 年是否住在大城市(伦敦或巴黎)。有什么建议可以通过多个 ifelse 获得吗?
id<- c(1,1,2,2,3)
location <- c('london', 'paris', 'london', 'kathmanadu','newyork')
year<- c(2011, 2010, 2012, 2011, 2010)
df<- data.frame(location, year)
df$bigcity<- ifelse(df$location=='london'| df$location=='paris' &
df$year==2011| df$year==2012, 1, 0)
【问题讨论】:
-
嗯......不清楚你在问什么......不正是你在代码的最后一行所做的吗? “多个 ifelse”是什么意思?
-
很难说这是否按照你所说的那样工作......你的意思是你想要:
ifelse((df$location=='london'| df$location=='paris)' & (df$year==2011| df$year==2012), 1, 0)带有额外的括号以更清楚地定义 AND/OR 逻辑? -
我写的代码不起作用它没有执行 and 语句
-
我编写的代码将执行 AND 语句 - 并且比多个 ifelse 语句更清晰。
标签: r if-statement dplyr tidyr