啊啊啊啊啊吖

2018-11-27   阅读量: 583

数据分析师 R语言

长度不等的向量怎么相加

扫码加入数据分析学习群

比如,

1:4

2:7

4:10

2:8

7:12

五个向量相加,长度不够的按0算。

怎么求?

有下面这个方法

长度不等的向量相加

a=1:2

b=1:3

c=c(a,rep(0,length(b)-length(a)))+b

c

但是向量比较多的话这么算很烦。

有其他号方法吗?

  1. library(dplyr)

  2. vecList <-
  3.     list(
  4.         a = 1:4,
  5.         b = 2:7,
  6.         c = 4:10,
  7.         d = 2:8,
  8.         e = 7:12
  9.     )

  10. # Utility funciton
  11. alignVec <- function(inVec, tarLen) {
  12.     return(c(inVec, rep(0, tarLen - length(inVec))))
  13. }

  14. # Determine the desired length
  15. maxLen <- max(sapply(vecList, length))

  16. # Align the vectors
  17. vecTarList <- lapply(vecList, alignVec, tarLen = maxLen)

  18. # Intermediate result
  19. df <- as.data.frame(vecTarList)

  20. # Result
  21. result <- as.data.frame(vecTarList) %>% rowSums()
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子