如何基于特定的外部值向量分割iris数据集?

如何基于特定的外部值向量分割iris数据集?,r,R,下午好 假设我们有以下向量v: [1] 3 3 2 1 1 3 1 1 2 1 3 1 1 1 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 1 1 3 1 3 2 3 3 [38] 1 2 3 3 2 1 3 1 3 1 1 3 3 3 3 3 2 3 1 3 2 3 2 2 3 2 1 3 3 1 1 3 2 1 3 2 1 [75] 3 3 3 3 2 2 2 2 2 1 1 1 3 3 1 2 1 1 2 2 2 1 1 3 2 2 2 2 3 1 3 3 2 1

下午好

假设我们有以下向量
v

  [1] 3 3 2 1 1 3 1 1 2 1 3 1 1 1 3 3 3 3 3 3 3 3 1 3 1 3 3 3 3 1 1 3 1 3 2 3 3
 [38] 1 2 3 3 2 1 3 1 3 1 1 3 3 3 3 3 2 3 1 3 2 3 2 2 3 2 1 3 3 1 1 3 2 1 3 2 1
 [75] 3 3 3 3 2 2 2 2 2 1 1 1 3 3 1 2 1 1 2 2 2 1 1 3 2 2 2 2 3 1 3 3 2 1 2 3 3
[112] 3 3 2 3 3 1 3 3 2 3 2 3 3 3 1 3 2 2 1 3 3 3 1 1 3 3 1 2 3 3 3 2 3 3 3 3 3
[149] 3 1
我需要在一个列表中拆分
iris
数据集,其中每个元素都是一个数据帧,表示
v
集群之一

我试过:

library(datasets)
load(iris)
data=iris[,-5]
data=data.frame(cbind(data,v) )  
print(data %>%
  group_split(v)
)  
有更好的解决办法吗


谢谢大家!

您可以尝试此
base R
解决方案:

#Code
v <- sample(1:3,150,replace = T)
data=iris[,-5]
data=data.frame(cbind(data,v) )  
#Split
L <- split(data,data$v)
names(L) <- paste0('df.',names(L))
list2env(L,envir = .GlobalEnv)
#代码

v您可以尝试此
base R
解决方案:

#Code
v <- sample(1:3,150,replace = T)
data=iris[,-5]
data=data.frame(cbind(data,v) )  
#Split
L <- split(data,data$v)
names(L) <- paste0('df.',names(L))
list2env(L,envir = .GlobalEnv)
#代码

非常感谢你宝贵的帮助!非常感谢您宝贵的帮助!