R语言输入与输出

Dist数据类型输出:
直接输出dist类型是不行的,要将转化为matrix数据(data.frame数据也不行)
 
d<-dist(m3) #调用距离函数,默认是欧氏距离
dd<-as.matrix(d) %转换成矩阵,因为上面算出来的类别为dist,不能直接写入表格中
write.csv(dd,"D:\work\data\d.csv") #写出文件
 
R读取xls文件方法:
 
readxl 可以很方便的读取,且各个系统都通用。如果只是读取的话,无疑是非常方便的方法。
 
只需要下载readxl包,用read_excel函数读取就可以了,并且同时支持老版本的.xls格式和新版本的.xlsx格式。
#下载和引用
install.packages("readxl")
library(readxl)
 
#读取Excel
read_excel("old_excel.xls")
read_excel("new_excel.xlsx")
 
#sheet参数,指定sheet名或者数字
read_excel("excel.xls",sheet=2)
read_excel("excel.xls",sheet="data")
 
# If NAs are represented by something other than blank cells,
# set the na argument
read_excel("excel.xls", na = “NA")
XLSX 包
read.xlsx ("file.xlsx")
 
使用剪贴板
复制内容,然后在R中输入:
read.table("clipboard",header=T)
 
批量读取:
批量读取数据,有两种形式,读取一个目录下的所有文件,从数据库中读取多个表。
 
##读取同一目录下的所有文件
path <- "F:/Rfile/OD-B/Data" ##文件目录
fileNames <- dir(path)  ##获取该路径下的文件名
filePath <- sapply(fileNames, function(x){
                 paste(path,x,sep='/')})   ##生成读取文件路径
data <- lapply(filePath, function(x){
             read.csv(x, header=T)})  ##读取数据,结果为list
 
##从数据库中读取数据类似上面,获取要数据库里的文件名,写个正则筛选文件名后for循环读取。
 

批量输出:

对结果批量输出csv文件,其中data为list格式
 
outPath <- "F:/Rfile/OD-B/Consequence" ##输出路径
out_fileName <- sapply(names(data),function(x){
                    paste(x, ".csv", sep='’)} )      ##csv格式
out_filePath  <- sapply(out_fileName, function(x){
                     paste(outPath ,x,sep='/')})   ##输出路径名
##输出文件
for(i in 1:length(data)){
  write.csv(data[[i]], file=out_filePath[i], row.name=F)
}
example:
out_fileName<-sapply(1:6,function(x){paste("class",x,".csv",sep="")})
for (i in 1:6){
  class.name<-subset(score.chushi,score.chushi[5]==i)
  write.csv(class.name,file=out_fileName[i])
}
outfile:  class1.csv   class2.csv 
原文地址:https://www.cnblogs.com/jwg-fendi/p/10052913.html