3.R学习—数据的导入和处理数据的常用函数

前面我们已经了解了R语言的基本数据结构,这里将介绍一些数据输入/导入的方法。R可以从流行的统计分析软件、文本、EXCEL、CSV等导入数据,也可以从键盘输入数据。下面将记录一些我常用的导入格式。

1.从键盘导入数据

使用R中的edit()函数可以调用一个允许手动输入数据的文本编辑器

mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
mydata<-edit(mydata)

这里首先创建了一个空数据框,有三个变量,然后通过edit()来手动编辑数据

 注意:每个观测值要与当前列变量的定义的数据类型相符合,也可以单击var4这样创建新的变量并选择类型。编辑的结果要赋值给对象本身,关闭之后结果会保存到赋值的对象中。

fix(mydata)与mydata<-edit(mydata)等价

通过键盘键入数据适合在小规模的数据中使用,或者对某个数据的其中一个或几个元素进行修改时使用比较方便。

2.导入带分隔符的文本文件

 在导入数据之前,要注意当前的工作目录路径,一般打开R后是位于HOME目录

(界面右下角可以看到)

可以通过getwd()来获取当前工作路径

> getwd()
[1] "C:/Users/28782/Documents"#这是我的home目录

1.通过setwd()可以设置或更改工作路径

setwd("E:/tep_project/2023.3.7new_analysis")

 

 可以看到setwd之后console控制台显示的工作路径已经发生了改变。

2.也可以通过鼠标点击才做来设置

 鼠标单击箭头所指出,即可选择进入自己的工作目录

随后点击more->set as working directory 即可完成跟setwd()一样的操作。 

设置工作路径之后就可以通过文件名来导入数据文件,否则要键入文件的绝对路径会相对麻烦点。

2.1read.table()

mtdata<-read.table(file = "多分组batch.csv",
                   header = T,
                   row.names = "sample",
                   sep=",")

常用参数如下:

file参数指定带分隔符的文本文件(注意要带双引号)

header=T表示将文件的第一列指定为列名,header=F则表示不指定为列名,列名会呗命名为V1,V2以此类推(不输入header时,默认情况下为header=T)

row.names用于指定行名,这里我指定了文件中的sample列为对应的行名

sep用于指定分隔符号 常见有"," (逗号) " "(空格)"\t"(制表符) "\n"(换行符)

col.names当数据文件不包含变量名(列名)时,可以用其指定一个包含变量名的向量字符。

na.strings 可选的用于表示缺失值的字符向量,例如na.strings=c("-8","?"),就会把-8和?在读取时转换为NA

除了file参数必须指定文件外,其余均为可选参数。

 文件导入后如下:

当不指定可选参入,全为默认时:

mtdata<-read.table(file = "多分组batch.csv")

 

 2.2read.csv()

mtdata<-read.csv(file="多分组batch.csv",
                 row.names = "sample")

使用read.csv()函数也可以实现相同的结果

3.导入Excel文件

install.packages("xlsx")
library(xlsx)

4.2版本的R调用xlsx包似乎会R崩溃,老版本是正常。

读取excel文件可以将其导出为逗号分隔文件(csv),使用前面的方法也可以导入R中。

4.导入之前保存的工作空间镜像文件(Rdata)

load("filename")

5.手动导入

 

 鼠标左键单击要导入的文件,单击Import Dataset,随后点击import即可导入

右下角显示的代码即实现import操作的执行语句

6.处理数据对象的常用函数

1.length()         显示对象中元素的数量

2.dim()             显示某个对象的维度

3.str()               显示对象的结构

4.class()           显示对象的类或类型

5.names()        显示对象中各成分的名称

6.cbind()          按列合并对象

7.rbind()           按行合并对象

8.head()           显示某个对象的前6行

9.tail()              显示某个对象的后6行

10.ls()              列出当前工作空间中的对象列表  (了解linux操作系统的伙伴应该比较熟悉)

11.rm()             删除一个或者多个对象

        ls() 和rm()可以结合使用

        rm(list=ls())  表示删除当前工作空间中的所有对象

...以后慢慢加

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值