如何将数据表作为矩阵读入R

10
这段代码直接来自于一个用于创建expressionSet的Bioconductor文献vignette(http://www.bioconductor.org/packages/2.12/bioc/vignettes/Biobase/inst/doc/ExpressionSetIntroduction.pdf)。
>  exprs <- as.matrix(read.table(exprsFile, header=TRUE, sep = "\t",
                 + row.names = 1,
                 + as.is=TRUE))

有人能告诉我为什么这段代码会生成以下错误信息吗?

> exprs <- as.matrix(read.table(exprsFile, header=TRUE, sep = "\t",
+                       row.names = 1,
Error: unexpected '=' in:
"exprs <- as.matrix(read.table(exprsFile, header=TRUE, sep = "\t",
                 + row.names ="
>                      + as.is=TRUE))
Error: unexpected ')' in "                     + as.is=TRUE)"

或者,您能否建议一种替代方法,将带有标题的文件exprsFile读入矩阵中?
非常感谢您的时间。

1
嗨。看起来你复制粘贴了代码。请删除那些 + 符号。在阅读 R 代码文档时,+ 符号通常表示在控制台中输入时的连续行。(一个值得注意的例外是在与 ggplot 相关的代码中,但这里不相关) - Ricardo Saporta
移除加号解决了问题,谢谢! - user2939281
修正后的脚本生成了“不完整的最终行错误”。该网站上的另一篇帖子建议滚动到文本文件的最后一行并按回车键。保存具有该修改的文件可以修复不完整的最终行错误。 - user2939281
1个回答

16

生物基因组学的vignette(说明文)几乎肯定是使用Sweave生成的。使用Sweave和它处理代码时如何显示代码,导致单个表达式被拆分成多行的>和前导+是一种人为现象。这反映了终端/控制台(R会话)在您输入以下内容时的外观(应该可以工作)。

exprs <- as.matrix(read.table(exprsFile, header=TRUE, sep = "\t",
                  row.names = 1,
                  as.is=TRUE))

knitr是一种替代Sweave的工具,现在默认允许在vignettes中使用,它会移除这些prompts,使代码更容易被复制和粘贴。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接