You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据框(dataframe)的指定变量转换为列表?

将大数据框转换为各列组成的列表

原始数据框

df = data.frame(x = c(1,0,0,0,1,1,1,NA), y = c(2,2,2,2,3,3,2,NA),
                z = c(1:7,NA), m = c(1,2,3,1,2,3,1,NA) )

df$x = factor(df$x)
df$y = factor(df$y)
df$m = factor(df$m)

需求

把上述数据框的每一列单独提取出来,组成一个结构如下的列表:

l1 = list(df$x,df$y,df$z,df$m)

解决方案

针对大数据量场景,最高效简洁的方式是使用as.list()函数,它会自动将数据框的每一列转换为列表元素,完全匹配需求:

l1 = as.list(df)

预期输出

[[1]]
[1] 1    0    0    0    1    1    1    <NA>
Levels: 0 1

[[2]]
[1] 2    2    2    2    3    3    2    <NA>
Levels: 2 3

[[3]]
[1]  1  2  3  4  5  6  7 NA

[[4]]
[1] 1    2    3    1    2    3    1    <NA>
Levels: 1 2 3

内容的提问来源于stack exchange,提问作者An116

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:01:10