如何按现有分类变量水平自动拆分并命名数据框(R语言)
按分类变量水平自动拆分数据集并生成对应命名的数据集(R语言实现)
如果你的数据集包含分类变量,想要自动识别变量的所有水平,并将数据集拆分成多个以对应水平命名的独立数据集(无需手动逐个筛选),可以用R语言的split()结合list2env()实现,该方案支持任意多水平的分类变量。
以泰坦尼克号数据集为例,其中Age变量包含Adult和Child两个水平,执行以下代码就能自动生成Adult和Child两个独立数据集:
# 将泰坦尼克号数据集转为数据框格式 Titanic <- data.frame(Titanic) # 按Age变量的水平拆分数据集,并将拆分后的列表转为全局环境中的独立数据集 split(Titanic, with(Titanic, Age), drop = TRUE) |> list2env(.GlobalEnv)
代码说明
split(Titanic, with(Titanic, Age), drop = TRUE):按Age变量的水平拆分数据集,drop = TRUE会自动移除无对应数据的水平(若存在),返回一个以水平名称命名的列表,每个列表元素对应该水平的数据集子集。list2env(.GlobalEnv):将拆分得到的列表转换为全局环境中的独立数据集,列表的名称即为对应数据集的名称。
内容的提问来源于stack exchange,提问作者wdefreit
相关产品推荐
相关产品推荐

