首页 > 解决方案 > r闪亮:在文本文件中使用write.table创建列标题

问题描述

我正在编写一个简单的闪亮应用程序,我在其中使用三个numericInputs。用户输入三个数字,在服务器端我使用这个输入来.txt使用write.table. 在.txt文件中,我想创建类似于每个输入的标签的列标题,因此第一个数字将在具有标题第一个数字等的列中。我认为这很简单,但我一直没有得到预期的结果。

我的代码:

write.table(paste(c(input$firstNum, input$secondNum, input$thirdNum), collapse = " | "),
            filename, quote = FALSE, row.names = TRUE,
            col.names = c("1st Number", "2nd Number", "3rd Number"))

有什么建议么?

标签: rshiny

解决方案


由于您向 提供单个标量 ( 1|3|5) write.table,因此它认为您正在编写一个单列表。这显然不是你认为你正在做的事情。使用的好处write.table是你给它一个类似表格的结构(matrix或者data.frame,通常),它会放在separator 中。

write.table(matrix(c(input$firstNum, input$secondNum, input$thirdNum), nr=1), 
            filename, sep='|', quote = FALSE, row.names = TRUE,
            col.names = c("1st Number", "2nd Number", "3rd Number"))

变化在哪里:

  • 提供 amatrix而不是预先压缩的字符串,并且
  • 添加sep='|'参数

推荐阅读