导言:

    较早之前就听说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. FiveChess笔记

    //为0,表示该位置没有棋子:1表示该位置下过黑子:2白子 int[][] allChess = new int[19][19];//同时还通过下标记录了棋子的相对位置 1.对话框: 确认对话框(0是 ...

  2. php发送邮件——SMTP服务器配置图文教程

    准备工作:      注册一个用于网站发送邮件的QQ邮箱(或使用已有的QQ邮箱):      http://zc.qq.com/chs/index.html?type=1&app_id=110 ...

  3. BZOJ 1208: [HNOI2004]宠物收养所

    1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 7514  Solved: 2982[Submit][Sta ...

  4. win7登录后开机密码破解读取

    在win7登录后,win7密码可以直接读取. https://github.com/gentilkiwi/mimikatz

  5. 01Spring_基本jia包的导入andSpring的整体架构and怎么加入日志功能

    1.什么是Spring : v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:u ...

  6. java的守护线程与非守护线程

    最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) ,(PS:以 ...

  7. Qt 学习笔记 TreeWidget 增删改

    在窗体上放一个TreeWidget控件和四个PushButton加一个Horizontal Spacer 布局如图 给树添加元素节点的方法和实现 .h文件 QTreeWidgetItem * AddT ...

  8. c++基础 使用智能指针

    三个智能指针模板(auto_ptr.unique_ptr和shard_ptr)都定义了类似指针的对象(c++11已将auto_ptr摒弃),可以将new获得(直接或间接) 的地址赋给这种对象.当智能指 ...

  9. opencv6.3-imgproc图像处理模块之边缘检测

    接opencv6.2-improc图像处理模块之图像尺寸上的操作 本文大部分都是来自于转http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutori ...

  10. Replace Pioneer注册

    以下是目前合法长期使用Replace Pioneer的唯一方法(除了购买之外): Replace Pioneer过期后,会弹出一个注册(Registration)窗口,其中有一个试用选项(Trial ...