在Rstdio使用的是3.5.1的64位R版本中遇到问题:The Perl script 'WriteXLS.pl' failed to run successfully.
首先使用
Sys.which("perl")
输出空串,表明未安装perl。
perl
""
安装上perl之后,运行又出现了:
Error in as.vector(x) : no method for coercing this S4 class to a vector
但是代码里并没有出现as.vector(x)的这个代码部分。
尝试加上这一句:
da=as(sce,"data.frame")
还是不可以。
使用这个还是报同样的错误。
write.table( x = data.frame(sce), file = "file.csv",col.names=TRUE, row.names=TRUE, quote=FALSE )
之后尝试换成
library(readxl)
library(writexl
write_xlsx(as.data.frame(sce), "test000.xlsx")
还是不可以,换成data.frame还是不行。
之后到http://www.bioconductor.org/packages/release/bioc/vignettes/SingleCellExperiment/inst/doc/intro.html
查看了SingleCellExperiment的这个官方文件,它可以由
se <- SummarizedExperiment(list(counts=counts))
as(se, "SingleCellExperiment")
别的类转换而来受到启发,还是不可以,所以转去学习sc4类。
sc3_export_results_xls(sce)
这一句官方说:
This will write all results to sc3_results.xls file. The name of the file can be controlled by the filename parameter.
写到结果文件里,为啥没有找到那个文件呢?。。。
随后又对R中的Data frame数据框格式进行了学习:
转自:https://www.cnblogs.com/studyzy/p/4316118.html
Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的。
R中有3种面向对象的OO系统:S3、S4,R5.
S4对象系统比S3更加严格。
想使用library(xlxs) 包,但是安装了java之后,是32位的,安装在了C盘x86目录下,结果在加载rJava包时报错
Error: package or namespace load failed for ‘rJava’:
loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
调用: inDL(x, as.logical(local), as.logical(now), ...)
错误: unable to load shared object 'E:/R-3.5.1/R-3.5.1/library/rJava/libs/x64/rJava.dll':
LoadLibrary failure: % 不是有效的 Win32 应用程序。
又重新设置了一遍路径和install了rJava还是不行,报同样的错误。
尝试使用包:writexl
这个不需要Java和Excel的支持。
!!!最终终于明白了,自带的那句写入到excel真的是有那个文件的。。。。。只不过路径不是在本地。。。。。