【发布时间】:2021-09-06 00:19:05
【问题描述】:
我有一个大数据框,我想在其中对数据进行子集化。
我做了一个示例表:名称是一个唯一的 ID,V1 总结了所有点 ARx,V2 是我想要构建子集的值。
我想总结所有 IDx (V1),如果一个 V2 > 0。在我的示例表中,我会选择 selection <- df$V1[which(df$V2>0),],这会给我一个包含 V2 > 0 的所有 V1 ID 的向量。
| Name | V1 | V2 |
|---|---|---|
| AR1.1 | ID1 | 0 |
| AR1.2 | ID1 | 0 |
| AR2.1 | ID2 | 0 |
| AR2.2 | ID2 | 1 |
| AR3.1 | ID3 | 0 |
| AR3.2 | ID3 | 1 |
| AR3.3 | ID3 | 0 |
| AR4.1 | ID4 | 2 |
| AR4.2 | ID4 | 0 |
现在我的问题来了:我想将 V1 ID 传输到整个数据框,以选择所选 ID 中的所有行,而不考虑 V2 值。 意思是,我想要一个子数据框,如果同一 IDx 之一的 V2 > 0,则 V1 的所有唯一值都在其中。
在我的示例表中,这将是:
| Name | V1 | V2 |
|---|---|---|
| AR2.1 | ID2 | 0 |
| AR2.2 | ID2 | 1 |
| AR3.1 | ID3 | 0 |
| AR3.2 | ID3 | 1 |
| AR3.3 | ID3 | 0 |
| AR4.1 | ID4 | 2 |
| AR4.2 | ID4 | 0 |
如何将我的选择向量转移到整个数据框(可能具有匹配的 IDx 名称?)。我再次尝试使用which 和%in%,但我只创建了一个较小的子集,无法传输所有 V2=0 V1。有没有比which 更好的开始方式?
【问题讨论】:
-
欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
标签: r