从列表中提取向量时出现意外错误消息
Unexpected error message while extracting vectors from a list
我想从文本文件列表中提取向量。
首先定义正确的 "working directory" 然后我生成一个包含测试文件的列表。
file.list <- list.files(pattern="*.txt", full.names=T)
之后我以正确的方式格式化数据。
datalist = lapply(file.list, FUN=read.table, header = F, sep = "\t", skip = 2)
最后我定义了应该提取的向量。
cmbn = expand.grid(1:641, 1:977)
flen = length(datalist)
lapply(1:(nrow(cmbn)),function(t,lst,cmbn){
return(sapply(1:flen,function(i,t1,lst1,cmbn1){
return(lst1[[i]][cmbn1$Var1[t1],cmbn1$Var2[t1]])},t,lst,cmbn))}
,datalist,cmbn)
最后我得到了所有向量作为输出。但是我怎样才能巧妙地存储它们呢?我希望能够单独访问向量。
错误信息"incorrect number of dimensions"表示lst1[[i]]
不具备二维。当dim
returns NULL
时,说明lst1[[i]]
既不是矩阵也不是数组。
尝试使用 str(lst1[[i]])
查看元素的 str 结构。是矢量吗?是别的东西吗?或者它只是缺少 (NULL
)?
当您知道问题所在时,您可以修复它。它可能正在读取一个空文件,或者由于 ??
而您正在读取列表边界之外的索引
我想从文本文件列表中提取向量。
首先定义正确的 "working directory" 然后我生成一个包含测试文件的列表。
file.list <- list.files(pattern="*.txt", full.names=T)
之后我以正确的方式格式化数据。
datalist = lapply(file.list, FUN=read.table, header = F, sep = "\t", skip = 2)
最后我定义了应该提取的向量。
cmbn = expand.grid(1:641, 1:977)
flen = length(datalist)
lapply(1:(nrow(cmbn)),function(t,lst,cmbn){
return(sapply(1:flen,function(i,t1,lst1,cmbn1){
return(lst1[[i]][cmbn1$Var1[t1],cmbn1$Var2[t1]])},t,lst,cmbn))}
,datalist,cmbn)
最后我得到了所有向量作为输出。但是我怎样才能巧妙地存储它们呢?我希望能够单独访问向量。
错误信息"incorrect number of dimensions"表示lst1[[i]]
不具备二维。当dim
returns NULL
时,说明lst1[[i]]
既不是矩阵也不是数组。
尝试使用 str(lst1[[i]])
查看元素的 str 结构。是矢量吗?是别的东西吗?或者它只是缺少 (NULL
)?
当您知道问题所在时,您可以修复它。它可能正在读取一个空文件,或者由于 ??
而您正在读取列表边界之外的索引