【发布时间】:2012-10-03 14:21:07
【问题描述】:
假设用户设置dim (1, ...., n),然后设置一个或多个 x_i 变量值,其中 i = 1,..., n。
经过更多计算后,我需要自动返回 dim 维向量 vec,其形式为:(0, 0, 0.2, 0, 0, ..., 0.3),在这种特定情况下,用户已设置:
dim <- 10
x_3 <- 0.2
x_10 <- 0.3
当然是立竿见影的:
vec <- rep(0, dim)
vec[3] <- x_3
vec[10] <- x_10
但是,由于我想尽可能多地自动化操作,我问你如何将 x_i 变量与vec 的“相应”元素链接在一起,考虑到先验不知道哪个/将设置多少个变量不等于 0。
在其他语言中,这可以使用带有宏变量的 for 循环来完成...语法是错误的,但想法是这样的:
vec <- rep(0, dim)
for (i in 1:dim) {
if (as.integer(exists(x_i))==1) {
vec[i] <- x_i
}
}
你有什么建议?谢谢!
【问题讨论】:
-
我建议你首先不要创建
x_i。 R 不是基于宏的语言。看来您来自Stata。你有我的同情。