基于观察名称的子集
Subset based on observation name
我有一个包含不同类别的观察值的变量。总共有 42 个(想想红色、蓝色、黄色和橙色;在颜色变量下...)。
我想对数据进行子集化,以便有 42 个不同的数据框,每个数据框都基于这些类别。所以会有一个红色、蓝色、黄色和橙色的数据框。
我的计划是使用 lapply
对所有数据框进行一些操作。
有几种方法可以做到这一点,但如果没有一段代码,也没有所需的输出,很难读懂您的想法并尝试猜测您的目的是什么。下次提供一个可重现的例子。无论如何,一种方法是使用 split(data, data$variable_color)
,其中 variable_color
是包含您要拆分的颜色的变量的名称。
这里是 R 中 mtcars
数据集的示例。
splitted <- split(mtcars, mtcars$cyl)
这给出了数据帧列表,例如您可以看到:
class(splitted[["4"]])
[1] "data.frame"
for (x in unique(modshare$STCG.2.Commodity)) assign(paste0(x, 'modshare'),
modshare[which(modshare$STCG.2.Commodity==x),,drop=FALSE])
我有一个包含不同类别的观察值的变量。总共有 42 个(想想红色、蓝色、黄色和橙色;在颜色变量下...)。
我想对数据进行子集化,以便有 42 个不同的数据框,每个数据框都基于这些类别。所以会有一个红色、蓝色、黄色和橙色的数据框。
我的计划是使用 lapply
对所有数据框进行一些操作。
有几种方法可以做到这一点,但如果没有一段代码,也没有所需的输出,很难读懂您的想法并尝试猜测您的目的是什么。下次提供一个可重现的例子。无论如何,一种方法是使用 split(data, data$variable_color)
,其中 variable_color
是包含您要拆分的颜色的变量的名称。
这里是 R 中 mtcars
数据集的示例。
splitted <- split(mtcars, mtcars$cyl)
这给出了数据帧列表,例如您可以看到:
class(splitted[["4"]])
[1] "data.frame"
for (x in unique(modshare$STCG.2.Commodity)) assign(paste0(x, 'modshare'),
modshare[which(modshare$STCG.2.Commodity==x),,drop=FALSE])