R语言追加数据框到列表时名称长度不匹配错误的解决办法求助
解决R语言列表追加时names属性不匹配的错误
错误原因
你先执行了names(df_list) <- append(names(df_list), names(DE_list)),此时df_list的元素数量还是原来的26个,但新的names长度是26+4=30,两者长度不匹配,导致报错。
解决办法
直接删除手动追加names的代码行,合并两个列表即可——因为你已经给DE_list设置了合法的names,R的append()(或c())函数会自动保留两个列表的元素名称,合并后的列表长度和names长度会自动匹配:
DE_list = list(imagetag_age_backup, imagetag_emotion_backup, imagetag_facial_backup, imagetag_gender_backup) names(DE_list) = c("imagetag_age_backup", "imagetag_emotion_backup", "imagetag_facial_backup", "imagetag_gender_backup") # 直接合并两个列表,无需手动处理names df_list <- append(df_list, DE_list) # 或者更简洁的写法:df_list <- c(df_list, DE_list)
执行后,df_list会包含原有的26个元素加上DE_list的4个元素,对应的names也会自动合并为30个,完全匹配元素数量,不会再报错。
内容的提问来源于stack exchange,提问作者Jess
相关产品推荐
相关产品推荐

