R:pi[[j]] 中的错误:下标越界——数据帧列表上的 rbind

标签 r list dataframe rbind do.call

我正在尝试 rbind 一个大的数据帧列表(outputDfList),它是通过将一个复杂的函数应用到一个大表来生成的。您可以通过以下方式重新创建 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)”进行调试,但我对它的熟悉程度不足以解决确切的问题。任何帮助表示赞赏。谢谢你。

最佳答案

更新后,您的问题似乎是您的列名无效:数据框列名必须为非空。

更正此问题后,代码将起作用:

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

但是,我很困惑这种情况最初是如何发生的。此外,我在您的代码中收到的错误消息仍然与您的不同:

Error in match.names(clabs, names(xi)) :
names do not match previous names

关于R:pi[[j]] 中的错误:下标越界——数据帧列表上的 rbind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681744/

相关文章:

R 函数参数和环境/命名空间

r - ggplot散点图中的图例问题

r - 如何使用 plm 包比较 R 中的 2 个模型?

r - 矩阵中不同时间序列的互相关

c# - 列出所有位置的覆盖数据

mysql - 在 MySQL 中使用另一个列表选择一个列表的子集

java - 同步与 Collection.synchronizedList 与 CopyOnWriteArrayList

python - 突出显示两个数据框之间的差异

python - Groupby Pandas 中的条件计数

python - 更改列中的所有第一个值,从其他列分组