R: pi[[j]] 中的错误:下标越界——数据帧列表上的 rbind
R: Error in pi[[j]] : subscript out of bounds -- rbind on a list of dataframes
我正在尝试将由 lapply 复杂函数生成的大型数据帧列表 (outputDfList) 绑定到大型 table。您可以通过以下方式重新创建 outputDfList:
df1=data.frame("randomseq_chr15q22.1_translocationOrInsertion", "chr15", "63126742")
names(df1)=NULL
df2=df1=data.frame("chr18q12.1_chr18q21.33_large_insertion", "chr18 ", "63126741")
names(df2)=NULL
outputDfList=list(df1,df2)
我的密码是
do.call(rbind, outputDfList)
我收到的错误信息:
Error in pi[[j]] : subscript out of bounds
我仔细检查了每个数据帧的列号,它们都是一样的。我还尝试使用 "options(error=recover)" 进行调试,但我对它的熟悉程度不足以解决确切的问题。任何帮助表示赞赏。谢谢。
更新后您的问题似乎是列名无效:数据框列名必须是 non-null.
更正此后,代码即可运行:
for (i in seq_along(outputDfList)) {
colnames(outputDfList[[i]]) = paste0('V', seq_len(ncol(outputDfList[[i]])))
}
do.call(rbind, outputDfList)
# V1 V2 V3
# 1 chr18q12.1_chr18q21.33_large_insertion chr18 63126741
# 2 chr18q12.1_chr18q21.33_large_insertion chr18 63126741
但是,我很困惑这种情况最初是怎么发生的。此外,我在您的代码中收到的错误消息 still 与您的不同:
Error in match.names(clabs, names(xi)) :
names do not match previous names
我正在尝试将由 lapply 复杂函数生成的大型数据帧列表 (outputDfList) 绑定到大型 table。您可以通过以下方式重新创建 outputDfList:
df1=data.frame("randomseq_chr15q22.1_translocationOrInsertion", "chr15", "63126742")
names(df1)=NULL
df2=df1=data.frame("chr18q12.1_chr18q21.33_large_insertion", "chr18 ", "63126741")
names(df2)=NULL
outputDfList=list(df1,df2)
我的密码是
do.call(rbind, outputDfList)
我收到的错误信息:
Error in pi[[j]] : subscript out of bounds
我仔细检查了每个数据帧的列号,它们都是一样的。我还尝试使用 "options(error=recover)" 进行调试,但我对它的熟悉程度不足以解决确切的问题。任何帮助表示赞赏。谢谢。
更新后您的问题似乎是列名无效:数据框列名必须是 non-null.
更正此后,代码即可运行:
for (i in seq_along(outputDfList)) {
colnames(outputDfList[[i]]) = paste0('V', seq_len(ncol(outputDfList[[i]])))
}
do.call(rbind, outputDfList)
# V1 V2 V3
# 1 chr18q12.1_chr18q21.33_large_insertion chr18 63126741
# 2 chr18q12.1_chr18q21.33_large_insertion chr18 63126741
但是,我很困惑这种情况最初是怎么发生的。此外,我在您的代码中收到的错误消息 still 与您的不同:
Error in match.names(clabs, names(xi)) :
names do not match previous names