gpt4 book ai didi

r - R 中的错​​误 - 结果的列数不是向量长度的倍数 (arg 1)

转载 作者:行者123 更新时间:2023-12-04 12:38:18 26 4
gpt4 key购买 nike

当我尝试在 R 中运行此代码时收到此错误

const1 = c(1,1,1,1,1)
const2 = c(1,1,1,1,1)
const3 = c(1,1,1,1,1)
const4 = c(1,1,1,1,1)
const5 = c(1,1,1,1,1)
const6 = c(1,1,1,1,1)
const7 = c(35,16,125,25,40,5)
const8 = c(37,17,130,27,43,7)
const9 = c(39,18,136,29,46,8)
const10 = c(42,19,139,30,50,10)
const11 = c(45,20,144,33,52,11)
f.con <- rbind(const1,const2,const3,const4,const5,const6,const7,const8,const9,const10,const11)

警告信息:在 rbind(const1, const2, const3, const4, const5, const6, const7,
结果的列数不是向量长度的倍数 (arg 1)

最佳答案

我们可以将所有向量放入列表,使用map转换为data.frame,并将它们绑定(bind)到一个数据集

library(purrr)
map_dfr(mget(ls(pattern = '^const\\d+$')), ~ as.data.frame(t(.x)))

或者使用unnest_wider

library(tidyr)
mget(paste0('const', 1:11)) %>%
tibble(col1 = .) %>%
unnest_wider(c(col1))

或者使用 base R,在创建 vectorlist 之后,在末尾填充 NA较短的列表元素,然后是 rbind

lst1 <- mget(paste0('const', 1:11))
do.call(rbind, unname(lapply(lst1, `length<-`, max(lengths(lst1)))))
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] 1 1 1 1 1 NA
# [2,] 1 1 1 1 1 NA
# [3,] 1 1 1 1 1 NA
# [4,] 1 1 1 1 1 NA
# [5,] 1 1 1 1 1 NA
# [6,] 1 1 1 1 1 NA
# [7,] 35 16 125 25 40 5
# [8,] 37 17 130 27 43 7
# [9,] 39 18 136 29 46 8
#[10,] 42 19 139 30 50 10
#[11,] 45 20 144 33 52 11

关于r - R 中的错​​误 - 结果的列数不是向量长度的倍数 (arg 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com