【发布时间】:2019-11-02 14:13:11
【问题描述】:
我有一个大型数据框(800 个变量的 15000 个观察值)。观察结果是 2 个不同时间点的患者(即 15000 obs = 10000 基线访问的患者 + 前 10000 名返回进行随访的 5000 名患者)。患者有一个患者 ID 变量(PtID:具有 10000 个水平的因子)和一个访问变量(访问:具有 2 个水平的因子:1 为基线,2 为随访)。
数据示例
PtID Visit Age_Visit Brain_colour BP .................
40 1 60 NA 130
40 2 62 blue 120
70 1 50 green 145
101 1 67 red 67
263 1 78 red 178
263 2 80 green 90
143 1 15 blue 123
219 1 69 red 110
219 2 70 green NA
我想更改数据框的格式,以便每个患者都是一个单一的观察结果,其中 800 个基线变量作为不同的后续变量重复(从 800 个变量的 15000 个 obs 到 10000 个 obs(仅限基线患者) ) 的 1600 个变量)。没有随访的 5000 名患者将具有所有随访变量的 NA 值。
我从另一个问题中找到了以下代码,但有太多变量需要更改,我无法将它们全部列出。
d <- setDT(x)[, list(WorryHighBGNow = paste(WorryHighBGNow,
collapse = ', ')),by = c('PtID')]
另外我想创建新的后续变量。对于这么大的数据框,我怎样才能轻松地将上面的数据更改为下面的数据?
PtID Age_Visit1 Age_Visit2 Brain_colour1 Brain_colour2 BP1 BP2 .................
40 60 62 NA blue 120 145
70 50 NA green NA 145 NA
101 67 NA red NA 67 NA
263 78 80 red green 178 90
...................
【问题讨论】:
标签: r dataframe format rstudio