加到标量/向量`1`的每个数字中,并将结果插入该数字之后

问题描述 投票:0回答:1

我有很多数值标量/向量,例如:

a <- 1
b <- c(2,4)
c <- c(5,6,7)
d <- c(60, 556, 30, 4, 5556, 111232)

现在,我需要添加到标量/向量1中的每个数字并将结果插入该数字之后。该解决方案应适用于任何数值标量和向量。因此结果应如下所示:

a <- c(1,2)
b <- c(2,3,4,5)
c <- c(5,6,6,7,7,8)
d <- c(60, 61, 556, 557, 30, 31, 4, 5, 5556, 5557, 111232, 111233)

如何完成?

r
1个回答
2
投票
lst <- list(
  a = 1,
  b = c(2,4),
  c = c(5,6,7),
  d = c(60, 556, 30, 4, 5556, 111232))

lapply(lst, function(x) as.vector(rbind(x, x + 1)))
# $`a`
# [1] 1 2
# 
# $b
# [1] 2 3 4 5
# 
# $c
# [1] 5 6 6 7 7 8
# 
# $d
#  [1]     60     61    556    557     30     31      4      5   5556   5557 111232 111233

这几乎是this的双份,但不完全是这样,我让别人打电话。

© www.soinside.com 2019 - 2024. All rights reserved.