维数不正确:从多个 rdata 文件中提取元素
Incorrect number of dimensions: extracting elements from multiple rdata files
问题
我在一个文件夹中有许多 .RData
文件,我想提取每个 .rdata
文件中继续的坐标。我还想 link 伴随文件 name(use_hab)
和 datetime(dt)
到它们各自坐标的每一行。
代码
file.namez<-list.files("C:/fitting/fitdata/7 27 2015") #name of files
#file.namez.rev<-file.namez[grep(".RData",file.namez)]
datastor<-data.frame(matrix(NA,length(file.namez),4))
names(datastor)<-c("use_hab",paste("B",1:3,sep=""))
allresults<-NULL
for(i in 1:length(file.namez))
{
datastor<-NULL
print(file.namez[i])
load(paste("C:/fitting/fitdata/7 27 2015/",file.namez[i], sep=""))
use_hab <- as.character(as.data.frame(strsplit(file.namez[i],"_an"))[2,])# this line is used to remove unwanted parts of the file name
use_hab <- gsub(".RData","", use_hab)
datastor <- fitdata$coords
datastor$use_hab <- use_hab
datastor$dt <- fitdata$dt
allresults <- rbind(allresults, datastor[,c(3,4,1,2)])
}
这只是错误消息之前的结果:
[1] "fitdata_anw514_yr2008.RData"
错误
Error in datastor[, c(3, 4, 1, 2)] : incorrect number of dimensions
In addition: Warning message:
In datastor$use_hab <- use_hab : Coercing LHS to a list
问题
我如何得到不正确的维数?每个文件名应该有 1098 个坐标和日期时间。总共 63 个文件 x 1098 行,4 列(文件名、日期时间、x、y)。
想要的结果是文件名作为第一列,日期时间作为第二列,x和y坐标作为第三和第四列。
替换
datastor <- fitdata$coords
和
datastor$coords <- fitdata$coords
当您尝试使用 $
访问不支持此功能的内容时,会抛出错误消息 Coercing LHS to a list
。 datastor <- fitdata$coords
将 datastor
更改为 fitdata$coords
的数据类型。
另外,你会改变
allresults<-NULL
datastor<-NULL
到
allresults <- data.frame()
datastor <- data.frame()
但这可能只是我个人的喜好。
问题
我在一个文件夹中有许多 .RData
文件,我想提取每个 .rdata
文件中继续的坐标。我还想 link 伴随文件 name(use_hab)
和 datetime(dt)
到它们各自坐标的每一行。
代码
file.namez<-list.files("C:/fitting/fitdata/7 27 2015") #name of files
#file.namez.rev<-file.namez[grep(".RData",file.namez)]
datastor<-data.frame(matrix(NA,length(file.namez),4))
names(datastor)<-c("use_hab",paste("B",1:3,sep=""))
allresults<-NULL
for(i in 1:length(file.namez))
{
datastor<-NULL
print(file.namez[i])
load(paste("C:/fitting/fitdata/7 27 2015/",file.namez[i], sep=""))
use_hab <- as.character(as.data.frame(strsplit(file.namez[i],"_an"))[2,])# this line is used to remove unwanted parts of the file name
use_hab <- gsub(".RData","", use_hab)
datastor <- fitdata$coords
datastor$use_hab <- use_hab
datastor$dt <- fitdata$dt
allresults <- rbind(allresults, datastor[,c(3,4,1,2)])
}
这只是错误消息之前的结果:
[1] "fitdata_anw514_yr2008.RData"
错误
Error in datastor[, c(3, 4, 1, 2)] : incorrect number of dimensions
In addition: Warning message:
In datastor$use_hab <- use_hab : Coercing LHS to a list
问题 我如何得到不正确的维数?每个文件名应该有 1098 个坐标和日期时间。总共 63 个文件 x 1098 行,4 列(文件名、日期时间、x、y)。
想要的结果是文件名作为第一列,日期时间作为第二列,x和y坐标作为第三和第四列。
替换
datastor <- fitdata$coords
和
datastor$coords <- fitdata$coords
当您尝试使用 $
访问不支持此功能的内容时,会抛出错误消息 Coercing LHS to a list
。 datastor <- fitdata$coords
将 datastor
更改为 fitdata$coords
的数据类型。
另外,你会改变
allresults<-NULL
datastor<-NULL
到
allresults <- data.frame()
datastor <- data.frame()
但这可能只是我个人的喜好。