美文网首页
#R的学习笔记07

#R的学习笔记07

作者: ks_c | 来源:发表于2021-02-02 15:47 被阅读0次

title: "R的学习笔记05"
author: "ks_c"
date: "2021/2/2"
output: html_document


<font face="宋体">以下为R数据分析指南与速查手册 第三章的内容</font>

导出

导出变量

使用save(..., list = character(),file = stop("'file' must be specified"))可以保存单个变量或一些变量。文件名为.rda或.Rdata。

  • ...:要存储的变量
  • list:变量标签/名称
  • file:文件名及路径

如果想保存整个环境,用save.image函数。常用用法为save.image(file = ".RData"),用file指定文件名即可。

导出txt或csv

导出为txt格式:

write.table(x, file = "",
append = FALSE,
quote = TRUE,
sep = " ",
eol = "\n",
na = "NA",
dec = ".",
row.names = TRUE,
col.names = TRUE,
qmethod = c("escape", "double"),
fileEncoding = "")

导出文件中:

  • 字符串型数据将用引号括起来,如果不想有引号,可设置quote = FALSE。
    (注意导出的csv文件中也是如此,只是如果用Excel打开的话,其中的引号不显示出来,如果用文本查看器如Notepad++打开,就可以看到引号。)
  • 如果要保存的数据不是数据框格式,会被转化为数据框格式,然后再保存为csv或txt文件。
  • 导出文件中默认包含行名(行序号)和列名,如果不需要,在write.table中可以设定row.names = FALSE及col.names = FALSE,在write.csv中设定row.names=FALSE(在write.csv中,可以通过col.names给csv文件修改列名,但是不能取消其列名)。
  • 更多参数设置,可查看write.table的帮助文档。在write.csv中,会将行名与列名交叉格以空字符串输出,但write.table会将其空缺。这会导致他们重新导入时,对行名的处理不同。
# 数据生成
name <- c("Alice","Bob","Christien","Einstein")
age <- c(10,20,14,25)
gender <- c("F","M","F","M")
weight <- c(25,50,30,54)
nationality <- c("USA","UK","China","German")
height <- c(1.2,1.65,1.43,1.75)
example_df <- data.frame(name,age,gender,weight,nationality,height)

# 保存
write.csv(example_df, file = "example_df.csv")
write.table(example_df, file = "example_df.txt")
write.table(example_df, file = "example_df2.txt",quote = FALSE)#字符串没有引号

导出图片

直接保存而不展示图片:

  • 新建保存格式(称之为一个图形设备),如png、jpg、pdf(pdf是矢量图),
  • 运行绘图相关的代码,
  • 关闭图形设备。
png("example_plot.png") # 新建一个图片保存格式,png可以是jpg、pdf等
plot(1:10) # 绘图
dev.off() # 关闭图形设备

图片的长、宽、分辨率等参数可参考png等的帮助文档。

如果已经画好了图,可以使用如下代码输出到文件中。

dev.copy(png, 'example_plot2.png')
dev.off()

如果最开始打开的是Windows窗口,则可用savePlot()函数,其用法为:

savePlot(filename="Rplot",
type=c("wmf", "png", "jpeg", "jpg", "bmp", "ps"),
device=dev.cur())

#例子:
windows(width = 9, height = 9, rescale = "fit")  # 打开一个Windows窗口
plot(1:10,type = "l")
savePlot(filename="Myplot",type="pdf")
# savePlot(filename="Myplot",type="png")
## 支持下列格式:"wmf", "emf", "png", "jpg", "jpeg", "bmp", "tif", "tiff", "ps", "eps", "pdf"
dev.off()

导出文本

readr::write_file(txt, file_name.txt", append = FALSE)

writeLines(txt, con = fileConn,sep = "")
close(fileConn)

sink("cat.txt")
操作
sink()

cat(... = ,file = ,sep = ,fill = ,labels = ,append = )

fileConn<-file("writeChar.txt")
writeChar(txt, con = fileConn, eos = NULL, useBytes = FALSE)
close(fileConn)

writeChar

R与python通用的数据

feather

#R中
library(feather)
path <- "my_data.feather"
write_feather(df, path)
df <- read_feather(path)

#py中
import feather
path = 'my_data.feather'
feather.write_dataframe(df, path)
df = feather.read_dataframe(path)

数据载入

数据

read.table默认的分隔符为空格,read.csv2默认的分隔符为分号;
可以改变默认的分隔符。

read.csv(file,
header = TRUE,
sep = ",",
quote = """,
dec = ".",
fill = TRUE,
comment.char = "", ...)

按行或单元导入(表格数据)
按行导入用readLines,按单元导入用scan

文本

整体读取可用readr::read_file,
按行读取可用readLines,如

txt<- read_file("write_file.txt")

相关文章

网友评论

      本文标题:#R的学习笔记07

      本文链接:https://www.haomeiwen.com/subject/ozdytltx.html