gpt4 book ai didi

r - 在 R 中识别并分配直观的(-ish)名称,观察到的 0/1 值组合

转载 作者:行者123 更新时间:2023-12-04 01:17:33 25 4
gpt4 key购买 nike

<分区>

我们有一个大型健康记录数据集(每位患者一行),其中包含多列,每列表示患者是否与特定类型的医疗保健提供者互动(0=否,1=是)。我们希望为每个患者确定"is"的组合(即,看过哪些提供者)。

这个 question 的答案让我离最终目标还有很长的路要走,但我想找到一种方法,为已识别的 0 和 1 组合分配更易读的名称。

下面的代码生成一个玩具数据集,其中包含一个因子(此处称为“组合”),其值由 1 和 0 组成,按它们在列中出现的顺序列出,并以句点分隔(例如 1.1.1.0.1.1 ).

df <- read.table(text = 
"ID Pr1 Pr2 Pr3 Pr4 Pr5 Pr6
1 1 1 1 0 1 1
2 0 0 1 1 0 1
3 0 0 1 1 0 1
4 0 1 0 0 1 1
5 0 1 0 1 1 1
6 0 1 0 1 1 1
7 1 1 1 1 1 1
8 0 1 0 1 1 1
9 0 0 0 0 0 1
", header = TRUE)

combo <- do.call(interaction,c(df[-1],drop=TRUE))
df.new <- cbind(df, combo)

因为真实的数据集有很多 0/1 变量的列,并且可能有数百个观察到的 0 和 1 的组合,这些类型的字符串将很难链接回有意义的列名。

为了使这种联系更容易一些,我想要一个新的字符或因子列,其值包含仅值为 1 的列的名称,例如,a 1.1.1.0.1.1 的组合值将产生“Pr1.Pr2.Pr3.Pr5.Pr6”的新值,而 0.0.0.0.0.1 将产生“Pr6”。即使像“Pr1.Pr2.Pr3.x.Pr5.Pr6”(或“x.x.x.x.x.Pr6”)这样的东西也会比原始结果更容易使用。

感谢您提供的任何帮助!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com