假设我在R中有两个列表,不一定长度相同,如:
a <- list('a.1','a.2', 'a.3')
b <- list('b.1','b.2', 'b.3', 'b.4')
Run Code Online (Sandbox Code Playgroud)
构造交错元素列表的最佳方法是什么,一旦添加了较短列表的元素,较长列表的其余元素将追加到末尾?,如:
interleaved <- list('a.1','b.1','a.2', 'b.2', 'a.3', 'b.3','b.4')
Run Code Online (Sandbox Code Playgroud)
不使用循环.我知道mapply适用于两个列表长度相等的情况.
假设我有一个像这样的 data.frame:
set.seed(123)
df <- data.frame(a=rnorm(10, 0,1), b=rnorm(10,1,2), c=rnorm(10, 2, 1),
x=rnorm(10, 1,2), y=rnorm(10,2,3), z=rnorm(10, 3, 4))
# a b c x y z
#1 -0.56047565 3.44816359 0.9321763 1.8529284 -0.08412094 4.013274
#2 -0.23017749 1.71962765 1.7820251 0.4098570 1.37624817 2.885813
#3 1.55870831 1.80154290 0.9739956 2.7902513 -1.79618905 2.828518
#4 0.07050839 1.22136543 1.2711088 2.7562670 8.50686790 8.474409
#5 0.12928774 -0.11168227 1.3749607 2.6431622 5.62388599 2.096916
#6 1.71506499 4.57382627 0.3133067 2.3772805 -1.36932575 9.065882
#7 0.46091621 1.99570096 2.8377870 2.1078353 0.79134549 -3.195011
#8 -1.26506123 -2.93323431 2.1533731 0.8761766 0.60003394 5.338455 …Run Code Online (Sandbox Code Playgroud) 假设我有一个字符串向量:
vec <- c("D", "A", "B", "A")
Run Code Online (Sandbox Code Playgroud)
我想在原始字符串之后立即插入修改后的字符串(在字符串末尾连接“_2”),而不进行排序。
预期输出:
[1] "D" "D_2" "A" "A_2" "B" "B_2" "A" "A_2"
Run Code Online (Sandbox Code Playgroud)
我正在寻找比我在下面分享的解决方案更简单的解决方案,我认为这可能不必要地过于复杂。