3

我有一个数据框“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 值分配给列表元素?

谢谢

4

1 回答 1

4

看起来这应该有效

MDC <- paste0("MDC", sort(unique(mydata$MDC)))
names(mylist) <- MDC
list2env(mylist, .GlobalEnv)
ls() # Checking environment
## [1] "MDC"    "MDC21A" "MDC5"   "MDC8"   "mydata" "mylist"

编辑: 根据@flodel 的评论-如果您想对这些数据框进行进一步操作,则不应将它们复制到全局环境中。您应该将它们留在列表中并mylist使用以下功能在该列表上执行所有操作lapplyrapply

于 2014-09-10T09:28:57.793 回答