Я пытаюсь установить поднабор данных на основе идентификатора (может быть любым числом) и одного условия. Примером может быть;
У меня есть несколько автомобилей с разным количеством цилиндров и разным количеством карбюраторов. Я хочу подмножество для каждого уникального значения цилиндров. И в подмножествах цилиндров я снова хочу подмножество для каждого уникального значения карбюраторов.
До сих пор я пытался установить подстановку данных mtcars уникальным числом цилиндров. Это работало нормально, и это дало мне 3 подмножества. Я использовал это для этого;
# Loading
data(mtcars)
mtcars_split <- split(mtcars, mtcars$cyl)
new_names <- c("subset1", "subset2", "subset3", "subset4")
for (i in 1:length(mtcars_split)) {
assign(new_names[i], mtcars_split[[i]])
}
Подмножество 4 не используется, поскольку в наборе данных mtcars имеется только три разных числа цилиндров.
Но теперь я хочу сделать то же самое для подмножества 1, подмножества 2 и подмножества 3 с количеством карбюраторов.
Затем я попытался
#For cylinder 4, carb 1 and 2
mtcars_split2 <- split(subset1, subset1$carb)
new_names <- c("subset1carb1", "subset1carb2")
for (i in 1:length(mtcars_split2)) {
assign(new_names[i], mtcars_split2[[i]])
}
#for cyclinder 6, carb 1,2 and 3
mtcars_split3 <- split(subset2, subset2$carb)
new_names <- c("subset2carb1", "subset2carb2", "subset2carb3")
for (i in 1:length(mtcars_split3)) {
assign(new_names[i], mtcars_split3[[i]])
}
#for cyclinder 8, carb 1,2,3 and 4
mtcars_split4 <- split(subset3, subset3$carb)
new_names <- c("subset3carb1", "subset3carb2", "subset3carb3", "subset3carb4")
for (i in 1:length(mtcars_split4)) {
assign(new_names[i], mtcars_split4[[i]])
}
#etc
Однако необходимо более простой способ сделать это? В больших наборах данных это ручное решение занимает слишком много времени. Вы получаете тонну различных комбинаций, которые вам все нужно определить в какой-то момент.
Было бы замечательно, если бы R мог каким-то образом автоматически генерировать и называть уникальные подмножества на основе этих 2 условий. цилиндры и карбюраторы.