[英]How to split iris dataset based on a specific external vector of values?
下午好 !
假設我們有以下向量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)
列表L
包含基於v
所有對象,並且使用list2env
可以將數據幀設置為環境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.