簡體   English   中英

如何根據特定的外部值向量拆分 iris 數據集?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM