R语言笔记六:获取数据、读入文件、写入文件、读写Excel文件及读写R格式文件

1. 获取数据
(1)R获取数据的三种途径
- 利用键盘来输入数据;
- 通过读取存储在外部文件上的数据;
- 通过访问数据库系统来获取数据。

例如有以下数据:
在这里插入图片描述
(2)键盘输入数据:
在这里插入图片描述
此外,还可以通过edit来输入数据:
data2 <- data.frame(patientID=character(),admdate=character(),age=numeric(),diabetes=character(),status=character())       #定义数据类型
data2 <- edit(data2)      #调用edit
调用后会显示一个数据编辑器,可以直接在编辑器里输入数据,结果会保存在data2中:
在这里插入图片描述
再调用fix(data2),可以继续进行数据修改。

(3)读取存储在外部文件上的数据
       利用R读取的文件,最好是经过处理的适合R使用的文件。数据需要进行大量的预处理,最好先利用python进行统计,再将统计结果导入到R软件中进行分析。
       具体访问方法在之后会详细讲到。

(4)访问数据库系统获取数据
       通过ODBC访问数据库。ODBC是开放数据库连接Open DataBase Connectivity的简称。在R中可以通过RODBC包来连接和访问数据库。
install.packages(“RODBC”)
library(RODBC)

2.读入文件
(1)
read.table(file,sep,header,skip,nrows,na.strings,stringsAsFactors)
- file为文件名;
- sep为文件分隔符;
- 若文件头部为变量名称,则header为TRUE;
- skip为跳过文件中某部分内容;
- nrows设置读取文件行数;
- na.strings告诉read.table函数哪部分属于缺失值,read.table函数将这部分替换为NA;
- R在读取文件时,数字会默认都读取为数值型,但字符串会默认读取为因子类型,若不需要将字符串读取为因子类型,则可设置stringsAsFactors为FALSE;
- ……
如:
x <- read.table(“input.csv”,sep=",",header=TRUE,skip=50,nrows=200):读取文件input.csv,文件内容以逗号分隔,若文件头部为变量名称,则header为TRUE,读取文件第51行至250行。

head(x,n=10):截取文件头部十行。默认是六行。
tail(x,n=10):截取文件尾部十行。默认是六行。

read.csv(“input.csv”):直接读取csv文件,默认分隔符为逗号。
read.delim():默认分隔符为制表符。

(2)
如果一个文件并不在本机上,R还可以支持读取网络文件。方法是将read.table函数中的文件名设置为网络文件具体的地址。

foreign包可以读取多种格式的数据文件,也可以生成多种格式的文件。
如果遇到其他格式的文件不再foreign包支持的范围内,那么一种方法是另存为文本文件,另外就是搜索R中对应的包。
例如要读取matlab文件:
先用RSiteSearch(“Matlab”)进行网络搜索,然后会在网页中看到,显示需要R.MATLAB这个包来读取数据。

读取系统剪切板上的数据:x <- read.table(“clipboard”)

如果R要读取的文件是一个压缩格式的文件,那么无需解压缩,可直接读取:x <- read.table(gzfile(“input.txt.gz”))

readLines(“input.csv”,n=5):可以直接读取文件中的行数。

scan函数:读取文件中指定类型的数据。(数值型或字符型或逻辑型)

3.写入文件
       write函数与cat函数类似,只不过cat函数是将数据显示在屏幕上,而write则是写到文件里面。
       如:
              x <- rivers
              write(x,file=“x.txt”)
       如果对象是一个数据框,可以使用write.table函数,如果是写入到csv文件,则可以使用write.csv文件。

       write.table(x,file,sep,row.names,quote,append,na)
       - x是需要写入的数据;
       - file是写入的文件,若没有目录,则默认写在当前工作目录下;
       - sep是指定的数据分隔符;
       - 若不需要每次数据写入文件时加上序号,则设置row.names为FALSE;
       - 默认情况下,write函数会为字符串添加双引号,若不需要,则可设置quote为FALSE;
       - append参数将文件内容写入相同文件名的文件中,TRUE表示追加到文件结尾,FALSE则表示清空原文件内容再写入;
       - na参数代表设置缺失值为NA;
注意:若写入文件是csv,则分隔符最好是逗号,可以将一个数据分为一个单元格。

R不仅支持直接读取压缩文件,也支持直接写成压缩文件。如:
write.table(mtcars,gzfile(“newfile.txt.gz”))
表示将文件压缩为gz格式的压缩包。

4.读写Excel文件
简单方法:
- 将excel文件转为csv文件读取;
- 将excel文件数据内容复制到剪切板中读取。

但是当Excel文件过多时,上面的简单方法用起来就比较麻烦了。R中包含许多直接读取Excel文件的包:
(1)XLConnect包:需要配置java的运行环境;
读文件:
ex <- loadWorkbook(“data.xlsx”)
edata <- readWorksheet(ex,1)       #表示读取ex表格中的sheet1工作表

写文件:
1)四步
wb <- loadWorkbook(“file.xlsx”,create=T)      #创建工作簿
createSheet(wb,“Sheet 1”)      #创建工作表sheet1
writeWorksheet(wb,data=mtcars,sheet=“Sheet 1”)      #写数据
saveWorkbook(wb)      #将工作簿保存为文件
2)一步
writeWorksheetToFile(“file.xlsx”,data=mtcars,sheet=“Sheet 1”)

(2)xlsx包:
读文件:
x <- read.xlsx(“data.xlsx”,1)      #表示读取表格中的sheet1工作表

写文件:
write.xlsx(x,file=“data.xlsx”,sheetName=“Sheet 1”,append=F)      #将数据写入表格Sheet1中

5.读写R格式文件
       存储为R文件会有很多优势,R会对存储为内部文件格式的数据进行自动压缩处理,并且会存储所有与待存储对象相关的R元数据。如果数据中包含了因子、日期和时间或者类的属性等信息,存储为R文件则更加实用。R格式的文件有两种:RDS和RData。
(1)RDS(R DataSet)文件
saveRDS(iris,file=“iris.RDS”)
x <- readRDS(“iris.RDS”)

(2)RData文件
save(iris,iris3,file=“iris.Rdata”)
load(“iris.Rdata”)

  • 22
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在R语言中打开frq文件,可以使用以下步骤: 1. 首先,通过使用R的文件取函数,如`read.table()`或`read.csv()`,来取frq文件的内容。你需要提供frq文件的路径作为函数的参数。 2. 例如,如果frq文件在当前工作目录中,可以使用以下代码来文件: `data <- read.table("filename.frq")` 其中,"filename.frq"是你的frq文件的名称。 3. 文件后,你可以将文件内容赋值给一个变量,如上面的代码中的`data`。这样,你就可以在后续的代码中使用这个变量来访问文件的内容。 请注意,打开frq文件时需要确保文件的路径正确,并且文件格式与你使用的取函数相匹配。根据文件的具体格式,你可能需要使用不同的取函数或指定其他参数来正确文件的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于Python的文件操作之第1课文件](https://blog.csdn.net/Candy5204/article/details/125787667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【ChatBot开发笔记】使用LTP(语言技术平台)进行自然语言处理](https://blog.csdn.net/weixin_44524843/article/details/115206489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值