设为首页 加入收藏

TOP

Iris的R语言命令工具箱(1)(一)
2017-10-10 12:09:23 】 浏览:822
Tags:Iris 语言 命令 工具箱

Iris的R语言命令工具箱(1)

最近在做数据分析,使用了R语言做了些数据处理和可视化,在此记下遇到过的问题、应用过的命令、处理方式以及工具包~

版权声明:本文为博主原创文章,转载请注明本文地址。http://www.cnblogs.com/o0Iris0o/p/6365927.html

1.CSV格式文件数据导入导出

1.1 导入CSV数据(导入CSV数据之后储存为“Data Frame数据框”数据结构)

## 导入csv数据
## 第一行没有表头
mytable <- read.csv("/FilePath/read.csv", sep=",", header=FALSE)
## 第一行有表头
mytable <- read.csv("/FilePath/read.csv", sep=",", header=TRUE)
## 手动选择文件读入
mytable <-read.table(file.choose(),stringsAsFactors=FALSE,header = FALSE)

1.2 导出CSV数据

write.csv(mytable,"/FilePath/write.csv",row.names = FALSE)  

2.删除指定变量或对象

1、直接删除
> a<-c(1,2,3)
> rm(a)

2、以字符串形式的方式删除
> a<-c(1,2,3)
> rm('a')

3、删除不再需要的对象
在使用R语言的过程中,除了要保留特定的对象外,其他的对象不再需要
> a<-ls()
> rm(list=a[which(a!='c2' & a !='m2' & a !='cpu1' & a !='mem1')])
> ls()
[1] "a"    "c2"   "cpu1" "m2"   "mem1"
如这个例子中,除了a,c2,cpu1,m2,mem1变量或对象外,其他的对象和变量均删除

4、对象的查找
有时,需要查找已经存在哪些变量,可根据名字来查找:
> objects(pattern='^m.*')
查找以m开头的对象,pattern为模式(匹配规则)

3.数据框Data Frame的操作

参考博客:http://www.cnblogs.com/studyzy/p/4316118.html


初始化Data Frame

## 例:初始化一个student的Data Frame
student<-data.frame(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"),Birthdate=c("1984-12-29","1983-5-6","1986-8-8"))

此时查看student的内容为:

 ID Name Gender Birthdate

1 11 Devin M 1984-12-29

2 12 Edward M 1983-5-6

3 13 Wenli F 1986-8-8

查看列名:使用names函数

##查看列名:使用names函数
names(student)
##查看行名:使用到row.names函数
row.names(student)
##若希望将 ID 作为行名
row.names(student)<-student$ID
##或在初始化date.frame的时候,有参数row.names可以设置行名的向量

访问元素

##访问第一行:
student[1,]
##访问第二列:
student[,2]

##使用列的Index或者列名可以选取要访问的哪些列。比如要ID、Name和Gender
##注意下标第一个元素就是1
IdNameGender<-student[1:3]
##另一种方法
IdNameGender<-student[c("ID","Name","Gender")]

##如果是只访问某一列,返回的是Vector类型的,那么可以使用双层括号[[]]或者$来访问
##例如访问student的Name
name<-student[[2]] 
##或者
name<-student[["Name"]]
##或者
name<-student$Name

##使用attach和detach函数可以使得访问列时不需要总是跟着变量名在前面
##比如要打印所有Name:
attach(student)
print(Name)
detach(student)
##还可以换一种简洁一点的写法就是用with函数
with(student,{
  n<-Name
  print(n)
})
##这里的n作用域只在大括号内
##如果想在with函数中对全局的变量进行赋值,那么需要使用"<<-"这样一个运算符。

合并两个Data Frame

tableall = merge(table1,table2,all.x = TRUE, all.y = TRUE)

4.对于CSV/Excel时间数据的处理-as.POSIXct()函数

将时间数据转化为时间格式

CSV/Excel文件导入成Data Frame格式数据之后,原先在CSV/Excel中的时间格式数据如“2016-02-11 03:42:10.724”被储存为“numeric”格式,如果不更改格式,在后续可视化处理的时候(如以时间为X轴,画散点图折线图)就会遇到问题

解决方法:

##将mytable中名为Time的列转化为时间格式
mytable$Time<-as.POSIXct(mytable$Time)

as.POSIXct(c,'%Y-%m-%d %H:%M',tz='UTC')
as.POSIXct(c,'%Y/%m/%d %H:%M',tz='UTC')

##另:as.Date截取日期部分转化成时间格式
c="2008/2/25 0:20"
as.Date(c,'%Y/%m/%d %H:%M')
##结果为: 2008-02-25

5.数据预处理-“dplyr”和“tidyr”扩展包

此处我只应用它做了简单的筛选,关于更多详细用法链接如下

扩展阅读:http://www.cnblogs.com/shangfr/p/6110614.html

扩展阅读:http://www.360doc.com/content/15/0824/21/18847742\_494543772.shtml

##安装扩展包
install.packages("dplyr")
install.p
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇从零开始系列-R语言基础学习笔记.. 下一篇R abalone data set

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目