R语言新手求助:如何让函数输出结果逐行打印?
解决R语言向量输出每行单独显示的问题
你的time_conv函数返回的是字符向量,R默认的print函数会对向量做紧凑排版,导致多个结果挤在同一行或按列分组显示。以下是几种简单的解决办法:
方法1:用cat函数结合换行符输出
修改函数,让每个结果末尾添加换行符\n,再用cat直接输出:
x <- "This is another way to figures out the decimal value in minutes" print(x) time_conv <- function(mins){ paste((mins / 60),"is",mins,"seconds", sep = " ", collapse = "\n") } cat(time_conv(mins = 1:10))
也可以不修改函数,在调用时拼接换行符:
result <- time_conv(1:10) cat(paste(result, collapse = "\n"), "\n")
方法2:逐个打印每个元素
通过循环或sapply遍历向量,单独打印每个结果:
x <- "This is another way to figures out the decimal value in minutes" print(x) time_conv <- function(mins){ paste((mins / 60),"is",mins,"seconds") } # 使用sapply逐个打印 sapply(time_conv(1:10), print) # 或者用for循环 for (line in time_conv(1:10)) { print(line) }
方法3:调整print函数的排版参数
给print添加width = 1参数,强制每行只显示一个向量元素:
x <- "This is another way to figures out the decimal value in minutes" print(x) time_conv <- function(mins){ paste((mins / 60),"is",mins,"seconds") } print(time_conv(1:10), width = 1)
内容的提问来源于stack exchange,提问作者Steven Herren
相关产品推荐
相关产品推荐

