根据属性过滤数据(data.frame)并将其分配给向量

Posted

技术标签:

【中文标题】根据属性过滤数据(data.frame)并将其分配给向量【英文标题】:Filter data (data.frame) according an attribute and assign it to a vector 【发布时间】:2021-07-10 13:51:47 【问题描述】:

下午好,

我有一个包含三列的大型数据框(+20000 行),两列是一个点的 x-y 坐标,第三列表示该点的一个重要属性(总共 +100 个不同的属性)。 我想过滤每个属性的数据,所以基本上根据每个属性对点进行分类。让我感到困难的部分问题是 +100 属性,因为它需要在循环中完成(例如 for 循环)

#data looks like this:

x y att
1 1 a
2 3 a
4 6 a
3 5 b
5 5 b
4 1 c
etc.

请注意,每个属性的点数都不相同...

非常感谢, 任何建议都会有所帮助

【问题讨论】:

【参考方案1】:

您是说要将数据框拆分为单独的数据框,每个属性一个数据框?这可以通过以下方式完成:

require(dplyr)

data %>%
group_by(att)
group_split(att)

【讨论】:

【参考方案2】:

我们可以像下面这样使用split

split(df,df$att)

【讨论】:

我知道这比我想象的要容易得多,非常感谢

以上是关于根据属性过滤数据(data.frame)并将其分配给向量的主要内容,如果未能解决你的问题,请参考以下文章

按逻辑条件过滤 data.frame 行

根据R中data.frame行中类的频率分配类

dplyr、lapply 或 Map 以识别来自一个 data.frame 的信息并将其放入另一个 [重复]

R - 根据第二个数据框中最接近的匹配分配列值

在过滤R data.frames时更新因子水平[重复]

覆盖使用 Dplyr - R 过滤的 data.frame 上的值