【发布时间】:2017-10-02 09:14:53
【问题描述】:
我有一个列表l,包含四个向量,每个向量包含多个元素,向量长度不一样。
l<- list(2:4,3:5,4:7,5:7)
for ( i in length(l)){
print(l)
}
[[1]]
[1] 2 3 4
[[2]]
[1] 3 4 5
[[3]]
[1] 4 5 6 7
[[4]]
[1] 5 6 7
我想使用 for 循环将值 2 添加到列表中每个向量的所有元素。
也许我们需要(两个for循环)外部将用于列表,内部将用于列表的每个向量,我想获得以下结果:
[[1]]
[1] 4 5 6
[[2]]
[1] 5 6 7
[[3]]
[1] 6 7 8 9
[[4]]
[1] 7 8 9
请注意:原始列表包含389个向量,每个向量包含不少于45个元素。
【问题讨论】:
-
就
lapply(l, `+`, 2) -
谢谢,Sotos 我只想使用 for 循环。
-
你为什么要这样做? for 循环通常不是 R 中的最佳选择;在这种情况下,使用
lapply是最好的选择 -
我知道,上面的例子只是为了理解for循环的思想,主要任务包含一些条件,我正在尝试逐步解决任务,这就是为什么我选择了循环。
-
你也可以通过
*apply一步步完成。