r语言 - 用于循环创建结果的打印命令



假设我有以下循环:

test <- mtcars
target_var <- c("mpg", "wt")
group_var <- c("gear", "carb")
library(tidyverse)
for (i in target_var) {
  for (j in group_var) {
print(prop.table(table(test[, i], test[, j]), 2))
  }
}

当我运行它时,我看到报告了四个 prop.tables,每个表的标题为 [1] 到 [[4]]。我可以通过查看代码并查看分配给target_var和group_var的变量的顺序来直观地匹配哪个 prop.table 与哪些变量。

但是,假设我正在循环处理十几个或更多变量。显然,将一个特定的 prop.table(例如"[[14]]]"(与该表中的实际变量匹配是一个问题。

有没有办法打印用于生成每个特定表的命令 R?

我不是在寻找进度条,而是在寻找控制台中打印的每个表格上方的代码。例如,以下代码将打印在相应的 prop.table 正上方:

prop.table(table(test$mpg, test$gear), 2)
# actual prop.table result from the first time through the loop here
prop.table(table(test$mpg, test$carb), 2)    
# actual prop.table result from the second time through the loop here

这将在进行探索性数据分析时对我有所帮助。

如果我理解得很好,您希望函数的结果"随心所欲"打印(即在循环的每次迭代中,而不是在结束时(?

您可以使用cat代替print(请务必在调用cat后打印新行n以避免混乱的控制台(:

for(i in 1:3) {
    results <- mean(rnorm(10))
    cat(results)
    cat("n")
}

最新更新