我已经花了合理的时间来解决我的问题,但是我不能,所以我决定在这里问。我从一项调查中获得了一个数据集,其中每个家庭都有不同的身份证号码。在另一栏中,给出了该家庭的个人数目。
户口号码个人173 1174 1174 2175 1175 2175 3
[我想做的是创建一个新列,该列引用另外两个列,这样的话,如果该家庭只有一个人,我想拥有家庭ID(173);如果个人人数多于一个,对于第一个个人,我要拥有住户ID(174),对于第二个个人,我要拥有住户ID + B(例如174B),依此类推。我用过ifelse
,但没有得到我想要的。即:
家庭身份个人新栏173 1173174 1 174174 2 174B175 1175175 2 175B175 3 175C
谢谢。
如果我们想要文字输出
library(dplyr)
df1 %>% group_by(HouseholdID) %>% mutate(NewColumn = if(n() > 1) str_c(HouseholdID, LETTERS[Individuals]) else as.character(HouseholdID))