我使用R而我有一个名为" g1"的数据框。其中包含小鼠的肿瘤体积,均具有ID。该研究持续数周,在此期间,小鼠从试验中移除。我想根据ID计算每只小鼠的相对肿瘤体积,通过从后一天的值中减去第0天的值,似乎无法想出一个好的方法来做到这一点。例如,我有
Mouse Volume Day
711 7.323704 0
712 39.751250 0
713 22.568248 0
714 120.376612 0
706 85.169190 0
707 29.695617 0
708 65.026840 0
709 33.697400 0
711 44.380412 7
712 49.326144 7
713 30.275336 7
714 136.680960 7
709 41.739454 7
将小鼠706,707,709从研究中取出(这不断发生)。我想创建一个名为" RelVol"的列。即(第7天音量 - 第0天音量)和(第14天音量 - 第0天音量)等等等等,直到我的df结束。
谢谢!
答案 0 :(得分:1)
我认为这可能适合你。
使用data.table
包
您可以非常轻松地将data.frame转换为data.table:
df <- data.table(OriginalDataFrame)
然后使用:
df[, RelVol:= c(Volume - Volume[1]), by = Mouse]
其中df是您的data.table of values。
您将获得一个新列,每个日期与每个鼠标的第0天相差不一。&#39;
:)