【发布时间】:2023-04-08 01:38:01
【问题描述】:
我有一个大数据框,我想使用 for 循环将其转换为较小的子集数据框。我希望新数据框基于大/父数据框的列中的值。这是一个例子
x<- 1:20
y <- c("A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","C","C","C")
df <- as.data.frame(cbind(x,y))
好的,现在我想要三个数据框,一个是 x 和 y 列,但只有 y == "A",第二个是 y== “B”等。所以最终结果将是 3 个新的数据帧 df.A、df.B 和 df.C。我意识到这在 for 循环之外很容易做到,但我的实际数据有很多 y 级别,所以使用 for 循环(或类似的)会很好。
谢谢!
【问题讨论】:
-
您能否举一个您的数据示例,以便我们查看所有级别?通常,在大多数情况下,这种子集可以在循环外部完成。
-
我将从正确创建数据框开始。
df <- data.frame(x, y)。您所做的方式使第一列成为因素。