R语言执行rbind函数报错“结果列数不是向量长度的整数倍(arg1)”如何解决
R代码报错解决方案
根因说明
rbind() 函数仅用于按行合并矩阵、数据框类二维结构,你当前传入的是从两个数据框提取的单列向量,不符合函数参数要求,因此触发报错。
解决方案
- 若你需要将两个向量的取值合并为一个长向量,将
rbind()替换为向量拼接函数c()即可,修正后代码如下:
Nome_Dos_Formadores <- c(V_Nome_Dos_Formadores$`Nome do Formador`, N_Nome_Dos_Formadores$`Nome do Formador`)
- 若你需要得到按行堆叠的单列二维结构,可使用如下两种实现方式:
- 转换为数据框后合并
Nome_Dos_Formadores <- rbind( data.frame(`Nome do Formador` = V_Nome_Dos_Formadores$`Nome do Formador`, check.names = FALSE), data.frame(`Nome do Formador` = N_Nome_Dos_Formadores$`Nome do Formador`, check.names = FALSE) )- 拼接后转换为矩阵
Nome_Dos_Formadores <- matrix( c(V_Nome_Dos_Formadores$`Nome do Formador`, N_Nome_Dos_Formadores$`Nome do Formador`), ncol = 1, dimnames = list(NULL, "Nome do Formador") )
前置验证
执行以下代码可确认待合并对象的属性,避免后续出现类型不匹配问题:
class(V_Nome_Dos_Formadores$`Nome do Formador`) length(V_Nome_Dos_Formadores$`Nome do Formador`) class(N_Nome_Dos_Formadores$`Nome do Formador`) length(N_Nome_Dos_Formadores$`Nome do Formador`)
内容的提问来源于stack exchange,提问作者Rui Gouveia
相关产品推荐
相关产品推荐

