假设我有以下循环:
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")
}