å‘é‡åˆ—表的顺åºå’Œ

时间:2018-11-08 09:28:55

标签: r

让session = qi.Session() session.connect("tcp://#.#.#.#:9559") main(session) ,xå’Œy为等长å‘é‡ã€‚å‡è®¾æˆ‘想对它们进行顺åºæ±‚和,å³z,然åŽæ˜¯x +y。å‡è®¾æˆ‘有20个å‘é‡çš„列表。有没有简å•çš„方法å¯ä»¥åšåˆ°è¿™ä¸€ç‚¹ï¼Ÿ

x+y+z

这是我的预期输出:

 x <- c(1,2,3,45)
 y <- c(2,31,31,4)
 z <- c(3,4,54,6)

1 个答案:

答案 0 :(得分:2)

这是一æ¡å¯èƒ½çš„路线。将å‘é‡æ”¾å…¥åˆ—表中,并将其长度固定为相åŒã€‚您å¯ä»¥é€šè¿‡å°†NA填充到所有å‘é‡ä»¥è¾¾åˆ°ä¸Žæœ€å¤§é•¿åº¦ç›¸åŒçš„å‘é‡é•¿åº¦æ¥å®žçŽ°æ­¤ç›®çš„。您å¯ä»¥å°†Reduce与å‚æ•°accumulate = TRUE一起使用,以顺åºåº”用函数,å³

l1 <- list(x, y, z)
l1 <- lapply(l1, `length<-`, max(lengths(l1)))

Reduce(`+`, l1, accumulate = TRUE)
#[[1]]
#[1]  1  2  3 45 34

#[[2]]
#[1]  3 33 34 49 NA

#[[3]]
#[1]  6 37 88 55 NA

注æ„::如果矢é‡çš„长度都相åŒï¼Œåˆ™åªéœ€å°†å®ƒä»¬æ”¾åœ¨åˆ—表中,然åŽç›´æŽ¥è½¬åˆ°Reduce,å³Reduce(`+`, list(x, y, z), accumulate = TRUE)