我已经浏览了许多以前的文章,但没有找到适合我的问题的解决方案。我有具有这些列“ id”,“ t1”,“ t2”和“ days.to.followup”的data.table。除了作为字符dtype的id之外,所有列均为数字,并且“ days.to.followup”是计算的t2-t1列。
ad.data[, days.to.followup := (t2-t1)]
我正在尝试计算总计百分比,而不是作为一列,而是针对t1中的值大于或等于365的行(相对于data.table中的观察总数)计算单独的值。我已经创建了一个子集来捕获条件组件,但是这样做是因为我不是data.table的新手,所以如果有使用链的解决方案,那将是更可取的:
at.least.yr <- ad.data[t1 >= 365]
作为FYI,at.least.yr dt具有927,208个观测值,而原始ad.data dt具有1,561,265个观测值。
除其他变体外,我尝试了以下操作,但此操作返回1,这显然是不正确的:
ad.data[, .("Percent of Ppl with at least 1 yr" = 100*(length(at.least.yr)/length(ad.data)))]
在此先感谢您的协助!
在length
中at.least.yr
会给列数作为at.least.yr
仍然是一个data.table。可能是,下面应该工作
library(data.table)
ad.data[, .(Percent_of_Pple_with_at_least_1yr = 100 * mean(t1 >= 365))]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句