导言:

    较早之前就听说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. fiddler和xampp安装成功后,网站打不开的原因

    fiddler和xampp安装成功后,网站打不开,出现403的错误 解决办法 编辑httpd.conf文件注释掉以下代码 #AllowOverride none # Require all denie ...

  2. HTML 学习笔记 CSS样式(定位)

    CSS定位(Positioning)属性 允许你对元素进行定位. CSS定位和浮动 CSS为定位和浮动提供了一些属性,利用这些属性 可以建立列式布局,将布局的一部分与另一部分重叠.还可以完成多年来通常 ...

  3. nginx缓存配置的操作记录梳理

    web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...

  4. 运行mvc3.0项目所需dll

    Microsoft.Web.Infrastructure 位置:C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies ...

  5. 用canvas画“哆啦A梦”时钟

    前言:今天看完了Js书的canvas画布那张,好开心~又是心爱的canvas~欧耶~ 之前看到有人建议我画蓝胖子,对哦,我怎么把童年最喜欢的蓝胖子忘了,为了表达我对蓝胖子的歉意,所以今天画了会动的he ...

  6. 【开源】LLMAnimator 60多种动画让你的应用动起来

    github:  https://github.com/brookshi/LLMAnimator ,欢迎star/fork 之前做android的时候需要给应用加些动画效果,在github上找到这个库 ...

  7. 仿造slither.io第一步:先画条蛇

    前言 最近 slither.io 貌似特别火,中午的时候,同事们都在玩,包括我自己也是玩的不亦乐乎. 好久好久没折腾过canvas相关的我也是觉得是时候再折腾一番啦,所以就试着仿造一下吧.楼主也没写过 ...

  8. bat批处理文件启动Eclipse和ivy本地仓库的配置

    一.bat批处理文件启动Eclipse 所需文件: 1.eclipse 2.jre 3.startup-eclipse.bat 确保以上三个文件夹同级 startup-eclipse.bat: set ...

  9. 【CSS】 background

    background: #22b4ff //背景色 url("http://images.cnblogs.com/cnblogs_com/oiliu/529256/o_titleIMG.jp ...

  10. 1011MySQL Query Cache学习笔记

    转自:http://blog.chinaunix.net/uid-16844903-id-321156.html 测试环境 MySQL 5.5 innodb_version 1.1.6 MySQL Q ...