假设我有以下循环:
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?
我不是在寻找progress bar,而是在列出控制台中打印的每个表格上方的代码。例如,以下代码将打印在相应的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
这可以帮助我进行探索性数据分析。
答案 0 :(得分:0)
如果我理解得很好,你想要“随时”打印函数的结果(即在循环的每次迭代中,而不是在结束时)?
您可以使用cat
代替print
(请务必在致电\n
后打印新行cat
以避免混乱的控制台):
for(i in 1:3) {
results <- mean(rnorm(10))
cat(results)
cat("\n")
}