【发布时间】:2019-11-01 15:08:54
【问题描述】:
我有一个 286 列和 157355 行的数据框。我希望对包含多个已定义因子变量(例如 F32、F341 等)中的一个或多个的行进行子集化。 完成此操作后,我希望确定子集行中最常见的其他因子变量。
我尝试过滤感兴趣的值,但出现一条错误消息,指出数据必须是数字、逻辑或复杂数据;
d<- a %>%
filter_at(vars(f.41202.0.0:f.41202.0.65), all_vars('F32'))
我也试过了,但是结果数据框没有值;
f <- a %>%
rowwise() %>%
filter(any(c(1:280) %in% c('F32', 'F320', 'F321', 'F322', 'F323',
'F328', 'F329', 'F330', 'F331', 'F332',
'F333', 'F334', 'F338', 'F339')))
当我尝试将所有相关变量放入 ICD 对象时,也发生了同样的情况;
f <- b %>%
rowwise() %>%
filter(any(c(1:286) %in% ICD))
如果有任何建议,我将不胜感激,谢谢
我的数据看起来像这样(抱歉,我在此页面上找不到更好的格式);
行名 Var1 Var2 Var3 Var4
1 F3 NA NA M87
2 不适用 不适用 M87 不适用
3 北美 F3 北美 K17
4 NA NA F3 M87
在基于 F3 的子设置行之后应该是这样的;
行名 Var1 Var2 Var3 Var4
1 F3 NA NA M87
3 北美 F3 北美 K17
4 NA NA F3 M87
因此保留了相同的变量列,但删除了没有 F3 的行
然后我希望根据它们在该子集中的常见程度列出其他变量(F3 除外),在这种情况下是
最常见:M87
第二常见:K17
如果有帮助,我会尝试识别患有特定疾病的人,然后我会尝试找出这些人最常患有的其他疾病
感谢您的帮助
【问题讨论】:
-
澄清一下,请分享您的数据框的有限部分以及您想要的结果应该是什么样子:stackoverflow.com/questions/5963269/…