想要通过在循环中对数据框进行子集化并根据 i 值分配每个数据框名称来在 R 中创建新数据框

品牌

我有一个数据框,我想为每个月制作新的数据框,并为数据框指定月份的名称。

像这样:

monname <- as.character(month.abb)
for (i in monname) {
    i <- subset(dat,dat$Month==i)
    monname[i] <- i
}

我收到一条错误消息

Error in monname[i] <- i : invalid subscript type 'list'

任何想法或替代方法来实现这一目标?

谢谢

帕维尔

使用与 Mark 相同的拆分功能,如果将每个结果数据帧保存到您的环境中对您来说很重要,您可以使用“list2env”功能。

df <- data.frame(
    month = rep(c("Jan","Mar","Apr"), 4)
    , somevalue = runif(12)
)
groups <- unique(df$month)


newdf_list <- split(df, f = df$month)
list2env(setNames(newdf_list, groups), .GlobalEnv)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章