【发布时间】:2019-07-25 14:16:58
【问题描述】:
我想生成动态(使用循环中的索引号)并稍后调用它,如下所示:
for (i in seq(1,10)) {
p_i <- i^2 #here _i is a dynamic value which is equate to the current i value
d_i <- (p_i-20)*15 # here _i for both d_i and p_i are all dynamic
}
非常感谢您的专业知识
【问题讨论】:
-
你不需要循环。
i <- 1:10; p <- i^2; d <- (p-20)*15将在一个向量中为您提供所有结果,您只需对该向量进行子集化即可提取其元素。 -
@RLave 请不要向新手提及该功能。他们不需要知道它的存在。
-
我的例子比我放在这里的例子要复杂得多,能否请您详细说明如何实现动态创建和调用它?
-
@EastLiu
myvector <- numeric(10); for (i in 1:10) {...; myvector[[i]] <- ...}如果您的数据无法存储在向量中,请使用列表。 -
@Roland。我认为最好解释一下为什么
assign是最糟糕的解决方案,以及为什么我们需要使用一种结构来避免环境中的人工索引。