r - 如何将数据框中的列动态加载到列表中?

标签 r list dataframe

如何将数据框中的所有列动态加载到列表中?

目前我是这样做的,但是非常乏味:

list(PM = PM, site = site, code = code)

例如,我有这个数据名:

structure(list(Particles = c(0.596667, 0.27, 0.153333, 0, 0.753333, 
    0, 0.35, 0.506667, 1.6, 0.116667), PM = c(35.5158928571429, 16.0714285714286, 
    9.12696428571429, 0, 44.84125, 0, 20.8333333333333, 30.15875, 
    95.2380952380953, 6.94446428571429), timestamp = c(1493310389147, 
    1493310419191, 1493310449254, 1493310479270, 1493310509313, 1493310539387, 
    1493310569416, 1493310599465, 1493310629525, 1502378711339), 
        date = structure(c(1493310389.147, 1493310419.191, 1493310449.254, 
        1493310479.27, 1493310509.313, 1493310539.387, 1493310569.416, 
        1493310599.465, 1493310629.525, 1502378711.339), class = c("POSIXct", 
        "POSIXt"), tzone = "UTC-1"), site = c("ABC", "ABC", 
        "ABC", "ABC", "ABC", "ABC", 
        "ABC", "ABC", "ABC", "ABC"
        ), code = c("ABC", "ABC", "ABC", 
        "ABC", "ABC", "ABC", "ABC", 
        "ABC", "ABC", "ABC"), key_date = c("2017-04-27", 
        "2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27", 
        "2017-04-27", "2017-04-27", "2017-04-27", "2017-08-10")), .Names = c("Particles", 
    "PM", "timestamp", "date", "site", "code", "key_date"), row.names = c(NA, 
    10L), class = "data.frame")

有什么想法吗?

最佳答案

您可以使用 as.listunclass 直接执行此操作。这两个都返回命名列表。

as.list(dat)

或者,您可以利用 data.frame 只是一个带有“data.frame”类的列表这一事实,

unclass(dat)

然后,正如@akrun 建议的那样,您可以事先对 data.frame 进行子集化,也可以在之后进行子集化。例如,假设变量 myVars 是通过一些选择过程创建的,其中包含要保留的变量的名称。

myVars <- c("PM","site","code")

然后

unclass(dat[myVars])

unclass(dat)[myVars]

关于r - 如何将数据框中的列动态加载到列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45649936/

相关文章:

r - udpipe (keywords_rake) 如何将关键字链接到从中提取关键字的文档

python - 在python中分配列表中的每个第N个元素

java - Switch 与 ArrayList Java

python - 你能从 Pandas 的日期中提取年份和月份吗

r - 使用hadoop流运行R脚本作业失败:PipeMapRed.waitOutputThreads():子进程失败,代码为1

r - 在 xtable 中处理 Latex 反斜杠

r - 代码构建过程和嵌入式功能

python - 如何在 Python 中拆分嵌套列表中的字符串?

python - 如何将一系列列表转换为python中的数据框?

python - 根据多个条件创建新的列和行