天道酬勤,学无止境

R - 写入没有第 0 列的文件(write.csv 或 write.table)(R - write to file without colum 0 (write.csv or write.table))

问题

假设我有以下数据框,命名为highly expressed

|    |New IDs         | Mean amast| Mean promast|Old IDs        |
|:---|:---------------|----------:|------------:|:--------------|
|44  |LdBPK_010009200 |   37.16175|     33.72800|LdBPK_010440.1 |
|46  |LdBPK_010009300 |   35.67275|     32.05529|LdBPK_010440.1 |
|83  |LdBPK_010012800 |    6.84300|     16.04800|LdBPK_010790.1 |
|84  |LdBPK_010012900 |    6.92775|     15.62371|LdBPK_010790.1 |
|93  |LdBPK_020005100 |    5.89950|     27.03371|LdBPK_210020.1 |
|300 |LdBPK_030014900 |    7.59575|     12.38143|LdBPK_030960.1 |

我现在想要获得一个仅包含“旧 ID”(即整个第四列)下的字符串的列表,以进行进一步的数据操作。 当我编写以下命令时:

write.table(highly_expressed$`Old IDs`, file = "test", quote = F, sep = "\t")

我的输出文件包含两列(不仅仅是一列,正如我所期望的那样),如下所示:

|  X|x              |
|--:|:--------------|
|  1|LdBPK_010440.1 |
|  2|LdBPK_010440.1 |
|  3|LdBPK_010790.1 |
|  4|LdBPK_010790.1 |
|  5|LdBPK_210020.1 |
|  6|LdBPK_030960.1 |

有谁知道一种在没有第 0 列(索引 1、2、3、4 等)的情况下写入文件的方法? 也许使用 write.csv 以外的其他函数?

回答1

只需将row.names = FALSE添加到write.table()

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 在R中没有列标题的情况下将数据帧写入csv文件(Write a data frame to csv file without column header in R [duplicate])
    问题 这个问题已经在这里有了答案: 导出不带名称的CSV (3个答案) 6年前关闭。 我想将数据框的内容存储到一个.csv文件中而没有列名。 我使用以下代码 write.csv(cur_data,new_file, row.names = F, col.names=F) 生成的文件看起来像这样, "V1","V2" -0.02868862,5.442283e-11 -0.03359281,7.669754e-12 -0.03801883,-1.497323e-10 -0.04320051,-6.557672e-11 但是,我希望文件具有以下格式, -0.02868862,5.442283e-11 -0.03359281,7.669754e-12 -0.03801883,-1.497323e-10 -0.04320051,-6.557672e-11 我不明白为什么不考虑代码中的col.names参数 回答1 不要使用write.csv ,而要使用write.table write.table( <yourdf>, sep=",", col.names=FALSE) 您不能在write.csv更改许多设置-参数只是在提醒用户。 从文档中: 这些包装程序是故意不灵活的:它们旨在确保使用正确的约定来写入有效文件。 尝试更改附加,列名,sep,dec或qmethod的尝试将被忽略
  • 将 R 循环的输出写入文件(Write output of R loop to file)
    问题 目前我的 R 循环(见下文)在每次迭代期间都会覆盖自己。 我想将每个循环的结果输出到一个文本文件中。 更详细:这里的 R 初学者想知道如何在我的脚本中包含一行,以便将每个文件的平均值计算写入文本文件。 以便脚本创建一个新的空文本文件,然后每次脚本计算文件中第 4 列的平均值时,该值将输出到文本文件中的一行,其中包含第 1 列中的文件名和第 1 列中的平均值第 2 列。感谢您的帮助! filename <- system("ls /dir/",intern=TRUE) for(i in 1:length(filename)){ file <- read.table(filename[i],header=FALSE) ## if you have headers in your files ## mean <- mean(as.numeric(file$V4)) } 回答1 要在循环运行时执行此操作,请在循环中添加: write.csv(data.frame(fname=filename[i],mean=mean),file="output.csv",append=TRUE) 但是,这将意味着大量的文件系统开销,并且在 R 中生成整个数据帧然后将文件作为一个整体写入会更快。 所以而不是你的循环写: means <- sapply(filename, function(x)
  • 如何从使用write.table创建的CSV文件中删除结尾的空格或换行符?(How to remove trailing blanks or linebreaks from CSV file created with write.table?)
    问题 我想将R中的数据帧写入CSV文件。 考虑以下玩具示例 df <- data.frame(ID = c(1,2,3), X = c("a", "b", "c"), Y = c(1,2,NA)) df[which(is.na(df[,"Y"])), 1] write.table(t(df), file = "path to CSV/test.csv", sep = ""), col.names=F, sep=",", quote=F) test.csv的输出如下所示 ID,1,2,3 X,a,b,c Y, 1, 2,NA 乍一看,这正是我所需要的,但是在上面的代码插入中看不到的是,在最后一行中的NA之后,还有另一个换行符。 但是,当我将test.csv传递到网站上的Javascript图表时,尾随的换行符会带来麻烦。 有没有办法避免R中的最后换行符? 回答1 这有点令人费解,但是可以得到您想要的结果: zz <- textConnection("foo", "w") write.table(t(df), file = zz, col.names=F, sep=",", quote=F) close(zz) foo # [1] "ID,1,2,3" "X,a,b,c" "Y, 1, 2,NA" cat(paste(foo, collapse='\n'), file = 'test
  • R语言:数据输出至文件
    from:http://r.rzaixian.com/cookbook/how-to-write-data-into-file.html 问题如果你想将数据写进一个文件,应该怎样操作?解决方案写入分隔符文本文件用 write.csv() 将数据写入一个文件是最简单的方法。 write.csv() 默认包括行名,但是这通常是不必要的,这种默认可能会导致迷惑。# 一个样本数据框data <- read.table(header=TRUE, text=' subject sex size 1 M 7 2 F NA 3 F 9 4 M 11 ')# 写入文件,取消默认行名write.csv(data, "data.csv", row.names=FALSE)# 同上,只是‘NA’由空白格代替write.csv(data, "data.csv", row.names=FALSE, na="")# 使用制表符,取消行名和列名write.table(data, "data.csv", sep="\t", row.names=FALSE, col.names=FALSE)保存为 R 数据格式write.csv() 和 write.table() 与其它数据分析程序的互操作性是最好的。然而,它们不会保护数据结构的特殊属性,如列是否为字符型或因素,或者因素水平的顺序。为了做到这一点,它需要在特殊的 R
  • 使用R将多个数据帧写入.csv文件(Writing multiple data frames into .csv files using R)
    问题 我已经使用lapply将函数应用于多个数据帧: data.cleaned <- lapply(data.list, shooter_cleaning) 然后根据其主题编号(例如100)在列表中标记每个结果数据帧: names(data.cleaned) <- subject.names 我要做的是根据主题编号将每个新数据帧另存为一个单独的.csv文件。 例如,对于主题100,我希望将.csv文件标记为“ 100.csv”。通常要这样做(对于单个数据帧),我只会写(其中x是数据帧): write.csv(x, "100.csv", row.names = F) 但是,显然,使用lapply对我的数据帧列表执行此操作只会产生“ 100.csv”的许多副本,而我却希望文件根据其主题号是唯一的。 如何(适用于?)将这些数据帧中的每一个保存到它们自己的唯一.csv文件中? 回答1 这是一个根据Richard的注释而包含的独立示例,但是使用列表中数据框的名称作为CSV文件的文件名: # Create a list of n data frames n <- 10 my_list <- lapply(1:n, function(i) data.frame(x = rnorm(10), y = rnorm(10)) ) # name the data frames names(my_list
  • 希伯来语在 R 中编码地狱并在 Windows 中编写 UTF-8 表(Hebrew Encoding Hell in R and writing a UTF-8 table in Windows)
    问题 我正在尝试保存从 https://www.magna.isa.gov.il/Det​​ails.aspx?l=he 中使用RSelenium提取的数据,但是尽管 R 成功地将希伯来语字符打印到控制台,但在导出 TXT 时却没有、CSV 或其他简单的 R 函数,如data.frame() 、 readHTMLTable()等。 这是一个例子。 > head(lines) [1] "גלובל פיננס ג'י.אר. 2 בע\"מ נתונים כספיים באלפי דולר ארה\"ב" [2] "513435404" [3] "" [4] "" [5] "" [6] "4,481" 使用data.frame()时,第一行更改为奇怪的字符(如下data.frame() > head(as.data.frame(lines)) [1] <U+05D2><U+05DC><U+05D5><U+05D1><U+05DC> <U+05E4><U+05D9><U+05E0><U+05E0><U+05E1> <U+05D2>'<U+05D9>.<U+05D0><U+05E8>. 2 <U+05D1><U+05E2>"<U+05DE> <U+05E0><U+05EA><U+05D5><U+05E0><U+05D9><U+05DD> <U+05DB><U+05E1><U+05E4>
  • 将数据从R导出到Excel(Export data from R to Excel)
    问题 我正在编写代码以将数据库从R导出到Excel,我一直在尝试其他代码,包括: write.table(ALBERTA1, "D:/ALBERTA1.txt", sep="\t") write.csv(ALBERTA1,":\ALBERTA1.csv") your_filename_in_R = read.csv("ALBERTA1.csv") your_filename_in_R = read.csv("ALBERTA1.csv") write.csv(df, file = "ALBERTA1.csv") your_filename_in_R = read.csv("ALBERTA1.csv") write.csv(ALBERTA1, "ALBERTA1.csv") write.table(ALBERTA1, 'clipboard', sep='\t') write.table(ALBERTA1,"ALBERTA1.txt") write.table(as.matrix(ALBERTA2),"ALBERTA2.txt") write.table(as.matrix(vecm.pred$fcst$Alberta_Females[,1]), "vecm.pred$fcst$Alberta_Females[,1].txt") write.table(as.matrix(foo)
  • 如何在CSV文件中分隔特定列的变量并写入R中的CSV文件?(How to separate the variables of a particular column in a CSV file and write to a CSV file in R?)
    问题 我有一个CSV文件,例如 Market,CampaignName,Identity Wells Fargo,Gary IN MetroChicago IL Metro,56 EMC,Los Angeles CA MetroBoston MA Metro,78 Apple,Cupertino CA Metro,68 期望以第一行作为标题输出到CSV文件 Market,City,State,Identity Wells Fargo,Gary,IN,56 Wells Fargo,Chicago,IL,56 EMC,Los Angeles,CA,78 EMC,Boston,MA,78 Apple,Cupertino,CA,68 res <- gsub('(.*) ([A-Z]{2})*Metro (.*) ([A-Z]{2}) .*','\\1,\\2:\\3,\\4', xx$Market) 如何修改上述正则表达式以在R中获得结果? R的新手,感谢您的帮助。 回答1 library(stringr) xx.to.split <- with(xx, setNames(gsub("Metro", "", as.character(CampaignName)), Market)) do.call(rbind, str_match_all(xx.to.split, "(.+?) ([A-Z
  • 如何在R中的循环中将多个数据帧写入单个csv文件?(how to write multiple dataframe to a single csv file in a loop in R?)
    问题 我想在单个 CSV 文件中写入多个数据帧“neighbors_dataframe”: 我使用这一行将多个数据帧写入多个文件: for(i in 1:vcount(karate)){ write.csv(neighbours_dataframe[[i]], file = as.character(V(karate3)$name[i]),row.names=FALSE)} 如果我使用此代码: for(i in 1:vcount(karate)){ write.csv(neighbours_dataframe[[i]], file = "karate3.csv",row.names=FALSE)} 这只会给我 csv 文件中的最后一个数据帧: 我想知道,我怎么能有一个单一的 CSV 文件,其中包含第一个数据帧的列标题刚刚写入 csv 文件和所有其他数据帧以连续方式复制的方式的所有数据帧? 先感谢您 回答1 两种方法; 如果neighbours_dataframe是一个很长的列表,第一个可能会快一点(尽管我还没有测试过这个)。 方法一:先将数据框列表转换为单个数据框 正如 jbaums 所建议的那样。 library(dplyr) neighbours_dataframe_all <- rbind_all(neighbours_dataframe) write.csv
  • 如何将多个表、数据框、回归结果等写入一个 Excel 文件?(How to write multiple tables, dataframes, regression results etc - to one excel file?)
    问题 我正在寻找一种将对象导入 MS Excel 的简单方法。 (我在示例中使用了预装的“嘌呤霉素”数据集) 我想将这些对象的内容放在一个单独的 excel 文件中: Puromycin summary(Puromycin$rate) summary(Purymycin$conc) table(Puromycin$state) lm( conc ~ rate , data=Puromycin) “内容”是指按回车键时控制台中显示的内容。 我不知道该怎么称呼它。 我试图这样做: sink("datafilewhichexcelhopefullyunderstands.csv") Puromycin summary(Puromycin$rate) summary(Purymycin$conc) table(Puromycin$state) lm( conc ~ rate , data=Puromycin) sink() 这给了一个带有 CSV 扩展名的文件,但是当我在记事本中打开文件时,有逗号分隔。 这意味着我无法让 Excel 正确打开它。 正确地我的意思是每个数字都在它自己的单元格中。 其他人针对类似问题提出了这个建议 https://stackoverflow.com/a/13007555/1831980 但是作为新手我觉得解决方案太复杂了,希望有更简单的方法。 我现在正在做的是
  • 加快write.table的性能(Speeding up the performance of write.table )
    问题 我有一个data.frame ,我想写出来。 我的data.frame的尺寸是256行乘65536列。 什么是write.csv更快替代write.csv ? 回答1 如果所有列都属于同一类,则在写入之前将其转换为矩阵,将速度提高近6倍。 另外,您可以考虑使用MASS包中的write.matrix() ,尽管在本示例中并没有证明它更快。 也许我没有正确设置一些东西: #Fake data m <- matrix(runif(256*65536), nrow = 256) #AS a data.frame system.time(write.csv(as.data.frame(m), "dataframe.csv")) #---------- # user system elapsed # 319.53 13.65 333.76 #As a matrix system.time(write.csv(m, "matrix.csv")) #---------- # user system elapsed # 52.43 0.88 53.59 #Using write.matrix() require(MASS) system.time(write.matrix(m, "writematrix.csv")) #---------- # user system elapsed #
  • 如何将数据框保存在以列分隔的txt或excel文件中(How to save a data frame in a txt or excel file separated by columns)
    问题 我有一个关于以txt或excel格式保存数据帧的问题。 我在R中有一个数据框,但是当我保存它时: 例如,当我在Excel中打开保存的数据框时,首先使用write.table()函数,所有列都分组在一个列中,并且您必须将Excel中的列分开,否则有丢失数据的风险。 write.csv()函数write.csv()发生同样的情况。 将所有列都分开保存在R中的数据帧是否可行? 谢谢。 回答1 我最喜欢的方法是实现此目的(因为我经常需要与非R用户共享在R中处理过的数据帧,而他们只需双击并在Excel中很好地打开它就很方便): write.table(x,"filename.txt",sep="\t",row.names=FALSE) 如上所述, sep="\t"参数选项卡定界了您的文件,但除非有必要,否则我认为删除行名也很有用。 回答2 write.table的默认定界符为单个空格。 尽管.txt通常用于表示电子表格,但它真正表明的只是它是一个文本文件。 如果您想要的是.tsv或带有制表符分隔值的文件,则可以尝试write.table(x,sep="\t") 。 这将以制表符分隔您的文件,当您尝试打开文件时,excel应该会对此进行选择。 我真的建议您给?write.table (和?read.table当我们正在阅读它)提供良好的阅读。 因为实际上,即使您的代码是完美的
  • R-将R输出的元素捕获到文本文件中(R - capturing elements of R output into text files)
    问题 我正在尝试通过如下所示通过命令行调用R来运行分析: R --no-save < SampleProgram.R > SampleProgram.opt 例如,考虑下面的简单R程序: mydata = read.csv("test.txt", header=T) attach(mydata) summary(Variable1) q() 输出显示在SampleProgram.opt中(仅部分显示): > mydata = read.csv("test.txt", header=T) > attach(mydata) > summary(Variable1) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 1.00 2.00 2.47 3.00 4.00 > q() 这个简单的R程序将由一个脚本执行,该脚本需要使用为Variable1显示的摘要统计信息。 问题是这样的:R中是否有任何方法可以捕获summary(Variable1)的输出并将结果写入输出文件? 换句话说,我需要R来运行Variable1的摘要统计信息,捕获“ Min”,“ Median”和“ Max”值并将它们单独写入输出文本文件。 在此示例中,输出文件应仅包含值“ 1.00、2.00、4.00”(即“最小”,“中位数”和“最大”值)的一行。 上面的示例讨论了摘要功能。 但是
  • 如何使用R在csv文件中按列添加数据?(How to add data by columns in csv file using R?)
    问题 我有包含在向量中的信息,例如: sequence1<-seq(1:20) sequence2<-seq(21:40) ... 我想将该数据附加到文件中,所以我使用: write.table(sequence1,file="test.csv",sep=",",append=TRUE,row.names=FALSE,col.names=FALSE) write.table(sequence2,file="test.csv",sep=",",append=TRUE,row.names=FALSE,col.names=FALSE) 但问题是这全部添加在一列中,例如: 1 2 3 ... 21 22 ... 40 我想在列中添加该数据,以便它最终像: 1 21 2 22 3 23 ... ... 20 40 我如何使用 R 做到这一点? 回答1 write.table将 data.frame 或矩阵写入文件。 如果您希望两个使用write.table将两列 data.frame(或矩阵)写入文件,那么您需要在R创建这样一个对象 x <- data.frame(sequence1, sequence2) write.table(x, file = 'test.csv', row.names=FALSE,col.names=FALSE) 请参阅?write
  • 当具有行名时,write.table将不需要的前导空列写入标头(write.table writes unwanted leading empty column to header when has rownames)
    问题 检查这个例子: > a = matrix(1:9, nrow = 3, ncol = 3, dimnames = list(LETTERS[1:3], LETTERS[1:3])) > a A B C A 1 4 7 B 2 5 8 C 3 6 9 该表正确显示。 有两种不同的方式将其写入文件... write.csv(a, 'a.csv')给出预期结果: "","A","B","C" "A",1,4,7 "B",2,5,8 "C",3,6,9 和write.table(a, 'a.txt')拧紧 "A" "B" "C" "A" 1 4 7 "B" 2 5 8 "C" 3 6 9 确实,缺少一个空白的标签....这对于下游事物而言是一个痛苦。 这是错误还是功能? 有解决方法吗? (除了write.table(cbind(rownames(a), a), 'a.txt', row.names=FALSE )) 干杯,扬尼克 回答1 引用CSV文件的?write.table部分: 默认情况下,行名称的列没有列名。 如果col.names = NA且row.names = TRUE则添加空白列名,这是电子表格读取CSV文件所使用的约定。 所以你必须做 write.table(a, 'a.txt', col.names=NA) 你得到 "" "A" "B" "C" "A" 1 4 7
  • 使用 python(或 perl 等)从 500 MB tsv 文件中删除多列(Delete multiple columns from 500 MB tsv file with python (or perl etc))
    问题 我有一个非常大的 tsv 文件,需要删除几列。 我找到了 CSV 模块,以及对类似问题的回答如下(请参阅下面的脚本)。 但是我需要删除大量列,并且不想键入要删除的每列的每个索引。 即从包含 689513 列的文件中,我想删除 628715 到 650181 列,并删除 653321 到 689513 列。(如果删除这两个集太难了,我可以只删除最后一个,即653321 到 689613,或相当于 653321 到文件末尾)。 对不起,基本问题; 我不熟悉脚本和迷路......并且 CSV 模块页面没有详细介绍删除列范围。 我尝试在 R 中执行此操作,但第一个单元格条目为空白(请参阅代码下方的示例列表)。 我的文件是一个 tsv 制表符分隔的文件,但我认为可以使用命令将分隔符设置为 \t 来纠正它。 任何帮助是极大的赞赏!!! (注意:不幸的是,我的列名中需要有冒号,即 2L:1274 完全是一列的名称)。 import csv with open("source","rb") as source: rdr= csv.reader( source ) with open("result","wb") as result: wtr= csv.writer( result ) for r in rdr: wtr.writerow( (r[0], r[1], r[3], r[4]) )
  • 无法将数据导出到R(write.csv)中的文件(Cannot export data to a file in R (write.csv))
    问题 我正在尝试将R中的数据导出到一个csv文件中,并且尽管尝试起来非常简单,但我总是收到相同的错误消息。 例子: 我创建了一个简单的数据矢量来导出 x <- c(1,3,4,3,5,7,5,8,2,5,7) 我尝试以以下方式导出: write.csv(x,file='whatever.csv') 我得到一个错误: error in file(file ifelse (append a w )) cannot open the connection In addition: Warning message: In file(file, ifelse(append, "a", "w")) : cannot open file 'whatever.csv': Permission denied 我该如何解决? 回答1 第一部分是检查工作目录,并确保您对该目录具有写权限。 您可以使用getwd()进行检查。 我可以通过尝试写入只读目录来重现您的错误。 要将工作目录设置为具有读取访问权限的其他目录,可以键入setwd("H:/foo") 。 获得写访问权限后, write.csv(x,file='whatever.csv')应该可以工作。 回答2 我今天遇到了同样的问题,我知道我对该文件夹拥有完全权限。 对我有用的是给它绝对的道路。 write.csv(data, file="C
  • 用R在一个.csv文件中写入不同的数据帧(Write different data frame in one .csv file with R)
    问题 我有3个数据框,我希望将它们写在一个单独的.csv文件中,一个在其他文件之上,而不是在同一张表中。 因此,在一个csv文件中包含3个不同的表。 它们都具有相同的大小。 write.csv的问题:它不包含“附加”功能 与write.table有关的问题:Excel 2010无法像从write.csv那样write.csv读取来自write.table csv文件 我已经阅读过的帖子,在其中找不到我的问题的解决方案: write.csv()不等大小的data.frames列表创建一个具有多个数据框的文件 解决方案 ? 回答1 write.csv只是在write.table使用适当的参数调用write.table 。 因此,您可以通过3次对write.table调用来实现write.table 。 write.table(df1, "filename.csv", col.names=TRUE, sep=",") write.table(df2, "filename.csv", col.names=FALSE, sep=",", append=TRUE) write.table(df3, "filename.csv", col.names=FALSE, sep=",", append=TRUE) 实际上,您可以通过将数据帧与rbind组合到单个df中,然后调用一次write
  • 在python 2或python 3中写入csv文件的可移植方式(portable way to write csv file in python 2 or python 3)
    问题 在我的Windows机器上,我通常在python 2中执行此操作以编写一个csv文件: import csv f = open("out.csv","wb") cr = csv.writer(f,delimiter=';') cr.writerow(["a","b","c"]) f.close() 现在python 3禁止将文本文件编写为二进制文件,该代码段不再起作用。 这样可行: import csv f = open("out.csv","w",newline='') cr = csv.writer(f,delimiter=';') cr.writerow(["a","b","c"]) f.close() 问题是:Python 2不知道newline参数。 当然,省略换行符会导致csv文件中包含太多\r字符,因此是不可接受的。 我目前正在执行向后兼容的过程,以逐步从python 2迁移到python 3.5。我的所有模块中都有很多这样的语句。 我的解决方案是将代码嵌入到自定义模块中,然后自定义模块返回文件处理程序+编写器对象。 在模块内部进行python版本检查,这使得使用我的模块的任何模块都可以在任何python版本上正常工作,而不会造成太大的黑客攻击。 有没有更好的办法? 回答1 在Windows上,我发现了一种与python 2&3兼容的方式来更改csv
  • 如何将带有一列列表的数据框写入文件?(How to write a data-frame with one column a list to a file?)
    问题 这是我的虚拟数据集: dataset<-data.frame(a=c(1,2,3,4),b=c('a','b','c','d'), c=c("HI","DD","gg","ff")) g=list(c("a","b"),c(2,3,4), c(44,33,11,22),c("chr","ID","i","II")) dataset$l<-g dataset a b c l 1 1 a HI a, b 2 2 b DD 2, 3, 4 3 3 c gg 44, 33, 11, 22 4 4 d ff chr, ID, i, II > mode(dataset$l) [1] "list" 当我尝试将数据集写入文件时: > write.table(dataset, "dataset.txt", quote=F, sep="\t") Error in write.table(x, file, nrow(x), p, rnames, sep, eol, na, dec, as.integer(quote), : unimplemented type 'list' in 'EncodeElement' 我怎么解决这个问题? 回答1 我可以考虑几个选项,具体取决于您要实现的目标。 如果它仅用于显示,那么您可能只需要capture.output()或sink() ; 这些都不是很方便读回R: