【问题标题】:Command Lines error in Rstudio consoleRstudio 控制台中的命令行错误
【发布时间】:2018-01-18 21:36:13
【问题描述】:

如何将很长的字符串分配给 r 中的变量?

以下工作正常

testVar <- "test;test;"  

但以下在 RStudio 控制台中给出了一个奇怪的+

testVar <- "test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;" 

当我点击Esc 按钮并打印testVar 时,它只打印test;test;

【问题讨论】:

  • @d.b 你做了什么?虽然我认为 akrun 是对的...太快 ENTER 推
  • @Sotos,复制第二行代码并在 R 中运行它。任何长字符串也会发生这种情况:x = "VERY LONG STRING"
  • @d.b 我也做了同样的事情,它工作正常。 nchar(testVar) #[1] 11760
  • 对了,RStudio -- 已回答。
  • “在控制台输入的命令行限制为大约 4095 个字节(不是字符)。” cran.r-project.org/doc/manuals/r-release/R-intro.pdf Section 1.8

标签: r rstudio


【解决方案1】:

"An Introduction to R" manual (help.start()),第 1.8 节:

在控制台输入的命令行限制为大约 4095 个字节(不是字符)。

[脚注] 有些控制台不允许您输入更多内容,其中一些会默默丢弃多余的部分,有些会将其用作下一行的开始。

根据 cmets,控制台之间的处理方式似乎确实存在一些差异。从 OP 中,我们可以得出结论,RStudio 不允许您输入更多字节。目前,RStudio does not acknowledge or intend to address this

我还在 R devel mailing list 中找到了 2006 年的对话,其中 Brian D. Ripley 解释了问题和上述文档。从那时起,限制似乎发生了变化(当时是 1024 字节)。


值得注意的是,它在源脚本中运行良好(即使是“硬编码”)。只有REPL 似乎有问题。

【讨论】:

  • 需要注意的是,4095的限制包括了变量名、赋值运算符、空格和创建字符串所需的引号的字节数。例如。 testVar &lt;- do.call(paste0, as.list(rep("t", 4081)))。如果要打印testVar,复制输出并将复制的值(“t”重复4081)重新分配给testVar,如下所示:testVar &lt;- "tttt.....tt",不会有任何问题。但是,如果您要添加一个字符,则会出现“+”。注意:nchar("testVar &lt;- ") 返回 11,有 2 个引号导致控制台中的总字节数为 4081 + 11 + 2 = 4094
猜你喜欢
  • 2016-05-19
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2016-06-10
  • 1970-01-01
相关资源
最近更新 更多