将数据框转换为新列表 [英] convert dataframe to new list

查看:86
本文介绍了将数据框转换为新列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据帧NOAA_OLR_TEST

I have a data.frame NOAA_OLR_TEST

NOAA_OLR_TEST <- structure(list(DATE_START = structure(c(1170720000, 1170806400,
1170892800, 1170979200, 1171065600, 1171152000, 1171238400, 1171324800,
1171411200, 1171497600), class = c("POSIXct", "POSIXt")), 
DATE_END = structure(c(1171065600,1171152000, 1171238400, 1171324800, 
1171411200, 1171497600, 1171584000,1171670400, 1171756800, 1171843200), 
class = c("POSIXct", "POSIXt")), LONGITUDE = c(-89.5, -89.5, -89.5, -89.5, 
-89.5, -88.5, -88.5,-88.5, -88.5, -88.5), LATITUDE = c(-179.5, -179.5, -179.5, 
-179.5,-179.5, -179.5, -179.5, -179.5, -179.5, -179.5), OLR_DATA_1 = c(150,146, 
146, 142, NA, 150, 158, 155, 143, 142), OLR_DATA_2 = c(146,146, 142, 141, 150, 
NA, 155, 143, 142, 138), OLR_DATA_3 = c(146,NA, 141, 150, 158, 155, 143, 142, 
138, 135), OLR_DATA_4 = c(142,141, 150, 158, 155, 143, 142, 138, 135, NA), 
OLR_DATA_5 = c(141,150, NA, 155, 143, 142, 138, 135, 140, 139)), 
.Names = c("DATE_START","DATE_END", "LONGITUDE", "LATITUDE", "OLR_DATA_1", 
"OLR_DATA_2","OLR_DATA_3", "OLR_DATA_4", "OLR_DATA_5"), row.names = c(NA,10L), 
class = "data.frame") 

我希望将数据帧NOAA_OLR_TEST [5:9]的第5列转换为第9列以列出

my expect is to convert No.5 to No.9 columns of the dataframes NOAA_OLR_TEST[5:9] to list

推荐答案

您可以使用data.table进行此操作:

You can do this with data.table:

library(data.table)
setDT(NOAA_OLR_TEST)
NOAA_OLR_TEST[,xy.list:=list(OLR_DATA_1,OLR_DATA_2,OLR_DATA_3,OLR_DATA_4,OLR_DATA_5)]
NOAA_OLR_TEST[,(5:9):= NULL]

is.list(NOAA_OLR_TEST$xy.list)
[1] TRUE

这篇关于将数据框转换为新列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆