【问题标题】:r - Use tab as part of seperatorr - 使用制表符作为分隔符的一部分
【发布时间】:2015-09-06 18:59:08
【问题描述】:

我正在尝试打印一个字符串,后跟“:[tab]”,然后是一个数字。我的代码的相关部分如下所示:

print(paste("Name",5, sep=":\t"))

但这给了我

“名称:\t5”

。我试过了:

print(paste("Name",5, sep=cat(":\t")))

但这给了我:

Error in paste("Name", 5, sep = cat(":\t")) : 
  invalid separator

我很确定这个问题与this email thread 中讨论的问题有关,但我不明白解决方案。

【问题讨论】:

  • cat(paste("Name",5, sep=":\t"))?
  • 是的。谢谢!你能解释一下cat 在做什么吗?此外,它最后打印NULL。我该如何摆脱它?
  • ?cat - 它连接并打印...也像你的标签一样不可打印的字符。
  • @Adam_G 我在运行卢克的代码时没有看到NULL...
  • 我也有一个print 声明。我做了更多的阅读,发现它是多余的。问题解决了。

标签: r string


【解决方案1】:

你可以这样走:

cat("Name","\t", 5, "\n")

当您需要某个函数的帮助时,只需在 R GUI 中输入该函数的名称,前面加上 ?,例如 ?cat

【讨论】:

    【解决方案2】:

    没有必要使用猫。

    这个函数

    paste("Name",5, sep=":\t")
    

    已经可以使用,但是当您“打印”它时,它会将选项卡显示为 ANSI 序列,因此它会显示“名称:\t5”。

    猫只是输出它来显示效果。

    如果您将粘贴函数的值存储在变量中并将其写入文件或查看任何地方,您会注意到不存在转义字符。

    output<-paste("Name",5, sep=":\t")
    

    如果您在 R-Studio 中,请使用 View 命令查看实际输出

    View(output)
    

    要了解 R studio 为什么这样做,请阅读 R 文档的 print.defaults

    单字节语言环境

    如果在输出过程中遇到不可打印字符,则将其表示为 ANSI 转义序列之一(\a、\b、\f、\n、\r、\t、\v、\ 和 \0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2018-09-07
      相关资源
      最近更新 更多