R-帮助将嵌套列表(?)转换为data.frame
我需要将.mat(Matlab)数据文件导入R,并将其内容组织为数据帧。虽然使用R.matlab软件包导入很简单,但转换到数据帧却很困难,因为数据最初是以某种笨拙的方式组织的。看起来有两个嵌套列表。到目前为止,我还无法将其转换为数据帧 以下是我到目前为止的情况:R-帮助将嵌套列表(?)转换为data.frame,r,matlab,list,nested,dataframe,R,Matlab,List,Nested,Dataframe,我需要将.mat(Matlab)数据文件导入R,并将其内容组织为数据帧。虽然使用R.matlab软件包导入很简单,但转换到数据帧却很困难,因为数据最初是以某种笨拙的方式组织的。看起来有两个嵌套列表。到目前为止,我还无法将其转换为数据帧 以下是我到目前为止的情况: # Download original flux file oldwd <- getwd() tmp <- tempdir() setwd(tmp) url <- 'https://dl.dropboxusercont
# Download original flux file
oldwd <- getwd()
tmp <- tempdir()
setwd(tmp)
url <- 'https://dl.dropboxusercontent.com/u/27700634/FLUX_DATA.mat'
f <- file.path(tmp, 'FLUX_DATA.mat')
download.file(url, f, method='curl')
setwd(oldwd)
# Read data using package R.matlab
library(R.matlab)
mlab <- readMat(f)
据我所知,到目前为止,共有15个数据变量,由第16个变量描述。我可以通过键入以下内容访问每个变量:
mlab$DATA[[1]]
mlab$DATA[[2]]
mlab$DATA[[3]]
从mlab$数据[[16]]中可以看出,“一年中的十进制日”、“净辐射”和“感热通量”的值。我需要做的是将这些变量转换为数据帧列,保留最后一个列表mlab$data[[16]]作为列的名称
有人知道如何做到这一点吗?非常感谢您的指导。为什么不直接从列表对象中提取
dat <- as.data.frame( mlab$ DATA[1:15])
colnames(dat) <- unlist( mlab$ DATA[16] )
因为。。。我对列表对象不熟悉(现在仍然不熟悉)?但是你的回答做到了,非常感谢。为了使最终的结构对我来说更加方便,我使用了colnames(dat)
dat <- as.data.frame( mlab$ DATA[1:15])
colnames(dat) <- unlist( mlab$ DATA[16] )
round( t(dat) , 3)