如何在R语言中打印指定长度的无间隔水平线?
解决R中打印无间隔水平线的问题
嘿,这个小问题我之前也踩过坑!你已经找对方向了,只是差了个关键参数或者更合适的函数~
先说说你之前尝试的问题:
- 用
cat(rep("-",10))时,cat默认会用空格分隔向量里的每个元素,所以才会出现带空格的横线; - 单独用
paste0(rep("-",10))其实只是把每个横线转成字符串,但返回的还是一个包含10个元素的向量,没有把它们合并成一个整体。
给你两个简单的解决方案:
- 用paste0+collapse参数合并后打印
把rep生成的向量用paste0的collapse参数拼接成单个字符串,再传给cat:
cat(paste0(rep("-", 10), collapse = ""), "\n")
这里collapse = ""就是告诉R把所有元素无间隔地连在一起,最后加"\n"是为了换行,让输出更整洁。
- 用strrep函数直接生成重复字符串
R里有个专门用来重复字符串的函数strrep,一步到位更省心:
cat(strrep("-", 10), "\n")
第一个参数是要重复的字符,第二个是重复次数,直接返回拼接好的无间隔字符串,用cat打印就得到你想要的----------啦!
内容的提问来源于stack exchange,提问作者Morts81
相关产品推荐
相关产品推荐

