在for循环中的打印之间添加行

问题描述 投票:0回答:1

我写了一个函数,为数据框中的所有变量打印频率表,这些变量是因子。

为了解打印频率表的变量,我补充说

print(colnames(dataframe)[i])

打印列名称。

功能:

freq_factor <- function(dataframe, n_factors = 5)
  {
  for (i in 1:length(dataframe))
    {
    if ((is.factor(dataframe[,i]) == "TRUE") & (nlevels(dataframe[,i]) <= 10))
      {
      print(colnames(dataframe)[i])
      print(table(dataframe[,i]))
      }
    }
}

我想要一个输出,其中变量1的频率表和变量2的列名之间有一条白线。

期望的输出:

[1] "column name 1"
factor 1 factor 2
1           10

[1] "column name 2"
factor 1 factor 2 factor 3
10        6         16

但是我在变量1的列名和变量1的频率表之间得到一条白线,在该频率表之后没有白线。

实际输出:

[1] "column name 1"

factor 1 factor 2
1           10
[1] "column name 2"

factor 1 factor 2 factor 3
10        6         16

如何在频率表后获得白线?

r for-loop
1个回答
0
投票

使用此cat语句代替第一个print语句:

cat("\n", colnames(dataframe)[i], sep = "")
© www.soinside.com 2019 - 2024. All rights reserved.