0
我刚合并了R中的纵向数据并发现了一个问题。我的数据帧,DF,长相(大致)是这样的:在两列上有条件地赋值或删除行
Clinic ID Year Result
A 1 2000 50
A 1 2002
A 1 2004
A 2 2000
A 2 2002
A 2 2004 1100
B 1 2000
B 1 2002
B 1 2004
我们需要的所有年的数据为患者测试结果和分配结果值该患者的所有行的方式。我需要丢弃没有结果记录的患者。在这个例子中,我需要在诊所A保留患者1和2的所有行,但在诊所B处丢弃患者1的所有行。此外,在诊所,AI需要所有患者1的行列出“50”,因为是他的测试结果。我想最终我可以使用:df [!is.na(df $ Result),] ...但我无法弄清楚如何在删除之前将'Result'值共享到所有相关行新加坡。
df <- transform(df, NewResult = (Clinic, ID, Fun=Function(Result) ifelse(Result>0 == Result, NA))
这没有奏效;它返回一个错误。非常感谢指导。
我需要的是:
Clinic ID Year Result
A 1 2000 50
A 1 2002 50
A 1 2004 50
A 2 2000 1100
A 2 2002 1100
A 2 2004 1100
B 1 2000 NA
B 1 2002 NA
B 1 2004 NA
na.locf工作!虽然我无法得到逆向填充,但第一个解决了我的问题。非常感谢! – Quixotic