首页 > 解决方案 > 定义“1 年内”的公式

问题描述

我对 R 相当陌生,我正在尝试为新列'w_1yr'(1 年内)编写一个公式,使用我的另外两个列dataframe:(enroll_yr入学年份)和lab_yr(实验室绘制完成年份)。基本上,我想说的lab_yr是,如果在 1 年内,enroll_yrw_1yr= 1,否则为 0。

以下是我到目前为止所拥有的,但仍然不正确。

df$w_1yr <- ifelse(df$lab_yr <= 'enroll_yr', 1, ifelse(df$lab_yr > 'enroll_yr', 0, NA)) (对不起,由于某种原因我无法从控制台复制/粘贴,所以不得不写出来)

在此处输入图像描述

如果有人可以帮助我,那就太好了!谢谢!

标签: r

解决方案


以下解决方案假设您lab_yr总是在enroll_yr

obs<-c(1,2,3)
enroll_yr<-c('2011','2011','2015')
lab_yr<-c('2013','2011','2016')
enroll_yr<-as.numeric(enroll_yr)
lab_yr<-as.numeric(lab_yr)


df<-data.frame(obs,enroll_yr,lab_yr)


df$w_1yr<-ifelse(lab_yr-enroll_yr==1|lab_yr-enroll_yr==0,1,0)
df

推荐阅读