导言:

    较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习。最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下了;用了3天时间,除了对R先有一个大概认识之外,也着手敲指令。由于计算机专业的底子还不错,而且先后接触过不下10种编程语言,感觉R语言入门上手还是挺简单的。下面是自己汇总的一些简单入门代码供大家参考,感兴趣的朋友也可逐行敲打测试。

  • 1. 介绍变量、顺序结构、分支结构、循环结构、函数使用、获取帮助等知识
 #---这是注释---
#R变量类型及赋值
x <- 1.12;print(x)
y <- c(,,,);print(y)
z <- c("Dog","Pig","Cat");print(z)
v <- c(T,F,T,T) print(v) "Me" -> I
"Her" -> H #assign赋值函数
assign("t",);print(t) Me <- 'You'
assign(Me,);print(You) #cat()函数多数据输出
cat("x=",x,"\n") #ls()显示当前工作环境所有变量及函数
ls()
#ls.str()函数查看当前工作环境变量及函数的详细属性
ls.str() #rm()删除指定变量或函数
rm(x)
#rm(list=ls())删除全部,慎用! #-------------------------- #分支语句:if ,else ,ifse
x <-
if(x>) print("正数") x <-
if(x==) print("x=1") score <-
if(score >= ){
print("A")
}else if(score >= ){
print("B")
}else if(score >= ){
print("C")
}else if(score >=){
print("D")
}else {
print("不及格")
} #switch 条件分支,跟C语音类似
x <-
switch(x,
print("Choice 1"),
print("Choice 2"),
print("Choice 3")
) #循环语句for,while,repeat
s <-
vars <- :
for(i in vars){
s <- s+i
}
print(s) sum <-
i <-
while(i<=){
sum <- sum+i
i <- i+
}
print(sum) #-----------------
  • 2. 介绍向量、数组、列表、数据框、日期时间等数据结构的基础知识,以及生成这些结构的方法
 #向量
x0 <- c(,,,,);print(x0)
x1 <-:;print(x1) x2 <-seq(from=,to=);print(x2) #seq()修改步长by=
x3 <- seq(from=,to=,by=);print(x3)
#seq() 等分为length.out 份
x4 <- seq(from=,to=,length.out=);print(x4) y1 <- rep(,);print(y1)
y2<-rep("Hey",);print(y2) #sample()抽样函数
y3 <- sample(x=:,size=,replace=F);print(y3)
y4 <- sample(x=c(,),size=,replace=T);print(y4) #正态分布随机函数rnorm()
z1 <- rnorm(n=);print(z1)
z2 <- rnorm(n=,mean=,sd=);print(z2) #日期标准化转换as.Date()
D <- "1993-1-01"
A <- as.Date(D);print(A) #一维、多维数组
t1 <- :
dim(t1)<-c(,)
print(t1) t2 <-array(rnorm(,,),dim=c(,,))
print(t2)
print(length(t2)) #所有元素总数量 #数据框data.frame
df <- data.frame(Sname=c("Zhu","Lin","Li"),Sage=c(,,),Ssex=rep("Boy",))
df
print(class(df)) #列表list
li <- list(Sname=c("Chen","Zhu","Lin","Li"),Sage=c(,,),Ssex=rep("Boy",))
li
print(class(li)) #--------------------
  • 3. 介绍R提供了极其灵活的方式,访问、修改、向量、列表、数据框等数据结构,以及R中很多重要、常用的数据分析函数
 #3-1访问向量元素

 x <- :;print(x)
print(x[])
print(x[-])
print(x[:])
print(x[: * ])
print(x[c(,,)])
print(x[x>])
print(x[x > mean(x)]) names(x)<-LETTERS[:];print(x)
print(y["C"])
View(y) #修改指定位置的向量元素值r
z <- :;print(z)
z[]<-;print(z) z1<-:;print(z1)
z1<-c(x,,,);print(z1) z1[length(z1)+] <- ;print(z1) #----------------------- #列表list
li <- list(Sname=c("Chen","Zhu","Lin","Li"),Sage=c(,,),Ssex=rep("Boy",))
li print(li$Sname)
print(li[[]])
print(li$Sage[]) names(li)
li$SDate <- as.Date(rep("2014-12-12",));
names(li) #在列表任意位置添加一个新元素
z <- list(Sheight=c(,,,))
li <- append(li,z,after=) names(li) #删除列表中的指定项
li$Sage <-NULL
names(li) #-----------------------
#矩阵访问 data(EuStockMarkets)
print(head(EuStockMarkets))
print(class(EuStockMarkets))
print(summary(EuStockMarkets)) View(EuStockMarkets) rowTotal <- rowSums(EuStockMarkets) #矩阵内部必须全数值
EuStockMarkets <- cbind(EuStockMarkets,rowTotal)
colTotal <-colSums(EuStockMarkets)
EuStockMarkets <- rbind(EuStockMarkets,colTotal) print(tail(EuStockMarkets)) #访问数据框
#数据框data.frame
df <- data.frame(Sname=c("Zhu","Lin","Li"),Sage=c(,,),Ssex=rep("Boy",))
df
print(df[,]) #访问第一行
print(df[,]) #访问第二列 print(df$Sname) #当需要频繁访问某一个数据框时,可以使用attach()加载到搜索框 attach(df) print(Sage)
print(Sname)
print(Ssex)
detach(df)
ls() #-------------------------
 #- R语言基本分析函数
ls.str() x<-:
#查找最大、最小及平均值
#print(which,max(x))
#print(which,min(x)) print(mean(x))
print(max(x))
print(min(x)) w <- c(,,,,,,,,)
print(sort(w))
print(sort(w,decreasing=T)) #降序排列 #日期字符串向量
szDate <-c("2014-3-18","2014-03-1","2014-01-01","2013-01-02","2011-04-14")
t <- as.Date(szDate)
t <- sort(t);print(t) #反序排序rev()函数
x <- c(,,,,,,,,)
print(x);print(rev(x)) print(t);print(rev(t)) #获取‘游程’信息rle()
x1 <- c(,-,,,-,-,,,,,,)
y1 <- rle(x1)
print(mode(y1))
str(y1) x2 <- rnorm(,,)
print(x2)
breaks <- c(-,-,,,)
y2 <- cut(x2,breaks)
print(summary(y2)) #match() 匹配函数
x3 <- c(,,,,,,)
print(match(x,))
print(match(x,c(,))) #计算组合数、排列数
print(choose(,))
print(choose(,))
print(factorial())
print(factorial()) #符号函数sign(),只有1,-,
cat("sign()函数运算结果:",sign(),",",sign(2.13),",",sign(-1.2),"\n",sep="") x4 <- c(,,NA,,,,,NA,,)
y4 <- na.omit(x4);print(y4) dim(x4)<-c(,)
print(x4)
print(na.omit(x4)) x4 <- c(,,NA,,,,,NA,,)
y4 <- na.omit(x4);print(y4)
#检测数据是否包含NA
na.fail(x4);
na.fail(y4); #去除重复数据
x4 <- c(,,NA,,,,,NA,,)
print(unique(x4)) #subset()子数据集筛选函数
v1 <- subset(airquality, Temp > , select = c(Ozone, Temp))
v2 <- subset(airquality, Day == , select = -Temp)
v3 = subset(airquality, select = Ozone:Wind)
#查看数据
head(v3) #-------------------------

结语:

      怎么样?是不是很easy!当然,这只是R语言入门上手的第一part,后续有待更新。。。

R语言快速入门上手的更多相关文章

  1. R语言快速入门

    R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/  在Windows环境下安装R是很方便的 R语言的两种运行模式:交互模式和批处理模 ...

  2. c语言快速入门3

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个  ...

  3. c语言快速入门2

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 1.1.12 函数的概念 函数的定义:c语言的基本单位,c语言 ...

  4. Swift语言快速入门

    Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

  5. [SQL]SQL语言入门级教材_SQL语言快速入门(五)

    SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...

  6. Dart语言快速学习上手(新手上路)

    Dart语言快速学习上手(新手上路) // 声明返回值 int add(int a, int b) { return a + b; } // 不声明返回值 add2(int a, int b) { r ...

  7. go语言快速入门教程

    go快速入门指南 by 小强,2019-06-13 go语言是目前非常火热的语言,广泛应用于服务器端,云计算,kubernetes容器编排等领域.它是一种开源的编译型程序设计语言,支持并发.垃圾回收机 ...

  8. R语言基础入门之二:数据导入和描述统计

    by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...

  9. 【计理05组01号】R 语言基础入门

    R 语言基本数据结构 首先让我们先进入 R 环境下: sudo R 赋值 R 中可以用 = 或者 <- 来进行赋值 ,<- 的快捷键是 alt + - . > a <- c(2 ...

随机推荐

  1. GNU Trove trove4j

    GNU Trove (http://trove4j.sourceforge.net/) 是一个Java 集合类库.在某些场景下,Trove集合类库提供了更好的性能,而且内存使用更少.以下是Trove中 ...

  2. PhoneGap: Android 自定义组件

    Hello Core Demo Plugin Development(组件部署): http://docs.phonegap.com/en/2.0.0/guide_plugin-development ...

  3. Oracle date 和 timestamp 区别

    1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型.它可以存储月,年,日,世纪,时,分和秒.它典型地用来表示什么时候事情已经发生或将要发生.    ...

  4. Linux下SVN安装与基本操作

    1.安装svn linux下通过yum安装svn yum -y install subversion 本地Windows系统安装TortoiseSVN 2.配置 建立版本库目录 mkdir /home ...

  5. 【活动】写#听云#原创博文 赢取iPhone 6超级大奖

    移动应用的使用量和重要性与日俱增,用户体验的要求也越来越高.与桌面程序相比,移动应用耗电小,速度慢,但手机用户却希望享受到与桌面程序同样的加载速度.那么如何发现移动应用的性能黑洞,优化移动应用性能,这 ...

  6. .Net简单图片系统-本地存储和分布式存储

    本地存储 所谓本地存储就是将上传图片保存到图片服务器的本地磁盘上. if (ConfigHelper.GetConfigString("SaveMode") == "Lo ...

  7. Sentinel-Redis高可用方案(二):主从切换

    Redis 2.8版开始正式提供名为Sentinel的主从切换方案,Sentinel用于管理多个Redis服务器实例,主要负责三个方面的任务:     1. 监控(Monitoring): Senti ...

  8. js如何判断一个数组

    typeof [] 为一个"object" 不能通过此方法判断一个数组 方法 1.instanceof方法,这个方法用的比较多. 2.这个是es5以后推荐的方法,Object.pr ...

  9. HashSet<T>类 用法

    HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集.并集.差集等.集合中包含一组不重复出现且无特性顺序的元素 改变集的值的方法: HashSet<T>的 ...

  10. SqlServer——批量插入数据

    像Major表里面批量插入数据演示: 代码如下: Declare @I int Set @I= Begin Tran InsertData: Insert into Major values(@I,' ...