扫码加入数据分析学习群
比如,
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
但是向量比较多的话这么算很烦。
有其他号方法吗?
- library(dplyr)
- vecList <-
- list(
- a = 1:4,
- b = 2:7,
- c = 4:10,
- d = 2:8,
- e = 7:12
- )
- # Utility funciton
- alignVec <- function(inVec, tarLen) {
- return(c(inVec, rep(0, tarLen - length(inVec))))
- }
- # Determine the desired length
- maxLen <- max(sapply(vecList, length))
- # Align the vectors
- vecTarList <- lapply(vecList, alignVec, tarLen = maxLen)
- # Intermediate result
- df <- as.data.frame(vecTarList)
- # Result
- result <- as.data.frame(vecTarList) %>% rowSums()
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
评论(0)
暂无数据