当前位置: 首页 > 知识库问答 >
问题:

循环变量

喻嘉泽
2023-03-14

我的代码是:

for(variable in Subset) {
variable_name <- assign(sub("x$", replacement = "", x$variable, fixed = TRUE), variable)
label <- variable_name
sort <- variable_name

print(quick_table(variable_name, label, sort)
table.desc <- describe(as.factor(eval(parse(text = "variable"))))
print(pandoc.table(table.desc$values))
}

这似乎不会在我的变量列表中循环。有什么想法吗?提前致谢

共有1个答案

贺景胜
2023-03-14

如果我正确理解了您的问题,您可以使用eval(parse(text=)))从变量名称的字符串调用变量。

例如,如果希望在相同的For循环中调用变量的子集,每个子集都名为“x$var1”、“x$var2”、“x$var3”,则可以执行以下操作:

(i in 1:3){eval(parse(text=paste0(“x$var”,i))}

 类似资料:
  • 问题内容: 为什么以下工作正常? 但是据说这是危险的/不正确的: 是否需要在循环外声明变量? 问题答案: 局部变量的范围应始终尽可能小。 在你的例子我相信是不会使用的外while循环,否则你就不会问这个问题,因为它声明的内部while循环不会是一个选项,因为它不会编译。 所以,既然是不使用外循环,在尽可能小的范围是内 while循环。 所以,答案是着重那绝对应该被while循环内声明。没有,没有,

  • 问题内容: 这里发生了什么?我正在尝试创建功能列表: 这没有达到我的期望。我希望列表像这样: 但是列表中的所有功能似乎都是相同的,并且将固定值设置为9: 有任何想法吗? 问题答案: python中的lambda是闭包…。在计算lambda之前,不会对您提供的参数进行求值。那时,i = 9,因为您的迭代已完成。 您正在寻找的行为可以通过functools.partial实现

  • 如下所示,我要反转数组。但我的代码不管用。这是我的for循环。请看一下。这个for循环正确吗。代码如下。

  • 问题内容: 考虑这样的循环: 输出为: 我希望它是:0、1。我看到两种解决方法: 解决方案#1。 这一事实基于我们可以将数据传递给setTimeout的事实。 解决方案#2。 还有其他选择吗? 问题答案: 除了您提出的两种方法外,没有什么其他的,但这是另一种方法 本质上,您需要捕获闭包中的变量值。此方法使用立即调用的匿名函数将本地变量中的外部变量值捕获。

  • 循环变量内建函数从 FreeMarker 2.3.23 版本开始存在。 这些内建函数只能用于list 和 items 指令 的循环变量 (也可以用于已经废弃的 foreach 指令)。 下面是一些说明(loopVar?index 在可以列表的值中进行迭代,返回从0开始的索引): <#-- Note: x is a loop variable --> <#list ['a', 'b', 'c'] a

  • 对于我的程序,我要编写一个程序,它接受2到10之间的行数。生成n行的乘法三角形。每行包含的条目不超过其行大小。这一点我没有问题。但是,在用户将数字0输入到我的问题“请输入要打印的行数:”之后,应该终止循环并打印“感谢您使用此程序!”我用了一个DO。。。WHILE循环以确定用户是否希望继续。在我的循环中,我将用户想要打印的数字声明为int num。我的循环应该持续到num