我有一个数据框,'mydata':
head(mydata)
ID MDC
000001 21A
000002 5
000003 8
...
我将数据框拆分为其中一个列值,即“MDC”。这创建了一个列表,按列值'MDC'细分为更多列表:
mylist <- split(mydata, mydata$MDC, drop=TRUE)
summary(mylist)
Length Class Mode
0 75 data.frame list
1 75 data.frame list
10 75 data.frame list
11 75 data.frame list
12 75 data.frame list
21A 75 data.frame list
...
我现在想要为每个MDC创建一个具有相应名称的数据框,例如: 'MDC1'。 如何将MDC值分配给列表元素?
由于
答案 0 :(得分:3)
看起来这应该有效
MDC <- paste0("MDC", sort(unique(mydata$MDC)))
names(mylist) <- MDC
list2env(mylist, .GlobalEnv)
ls() # Checking environment
## [1] "MDC" "MDC21A" "MDC5" "MDC8" "mydata" "mylist"
修改强>
Per @ flodel的评论 - 如果您想对这些数据框进行进一步操作,则不应将它们复制到全局环境中。您应该将其保留在mylist
中,并使用lapply
和rapply