R基础-适合于纯小白
#说明 文中‘test’均为模拟名称,原始编码为GKB方式
推荐大家使用Rstudio,界面友好 偏统计
###2.Rstudio基本操作#### #2.1查看R语言自带的数据集####
data() #直接输入数据集的名称,查看这些数据
CO2 #2.2快捷键####
#Ctrl+Enter:运行光标所在行的代码,也可以用来运行鼠标选中区域的代码
#Ctrl+L:清除控制台中的代码
#Ctrl+shift+S:运行代码集中的所有代码
#Ctrl+1:跳转到代码编辑环境
#Ctrl+2:跳转到控制台
#Ctrl+D:删除代码集中光标所在行的代码 #2.3查看数据集的前6行####
head(CO2) #查看数据集最后的6行
tail(CO2) #2.4安装包(可以通过命令或者通过图形界面来安装)####
install.packages("ggplot2") #加载包
library(ggplot2) #2.5创建向量和矩阵,以及对它们的基本操作####
rm(list = ls())
x1<-c(1,2,3,4,5,6) x2<-c(2,4,6,8,10,12)
length(x1) mode(x1) class(x1) C<-rbind(x1,x2);C cbind(x1,x2) # column vector Dmat<-cbind(x1,x2)
class(Dmat) #矩阵 Dmat3<-rbind(x1,x2)
class(Dmat3) #matrix Dframe<-as.data.frame(cbind(x1,x2)) #data.frame
class(Dframe) Dmat;Dframe #矩阵和数据框格式是不一样的,矩阵是由行列组成的,数据框是由记录和变量组成的 a<-c(1:100) #total :100 numbers length(a)
a
b <- cbind(a);b #矩阵 是 列优先 排列 的 #2.6常用的函数####
b<-c(1:20) mean(b) sum(b) max(b) min(b) sd(b) # standard deviation #产生向量
1:5 1:5*2 1:5*2+1 #2.8查看内存中已有的对象####
ls() #删除当前内存中的所有对象
rm(list = ls()) ls() #2.9访问向量中的元素####
a<-1:5*2-1 a a[3] # 3th a[-3] #except 3th a[2:4] #second to 4th a[-(2:4)] #except(sec to 4th) a[1,2,3] #不能这样访问向量中的元素 a[c(1,2,3)] #right way compared with Row127 a[a<=5] a[a<=3 | a>=7] #not consecutive,use | a[a>=3 & a<=7] # consecutive ,use & #2.10 seq()函数和rep()函数,用来产生等差数列的函数,调用示例函数####
example("seq")
demo(lm.glm,package = 'stats',ask = T) #Demonstrations of R Functionality
help(lm.glm)
seq(0, 1, length.out = 11) seq(stats::rnorm(20)) seq(1, 9, by = 2) seq(1, 9, by = pi) seq(1, 6, by = 3) seq(1.575, 5.125, by = 0.05) seq(17) example("rep") rep(c("a","b","c"),each=4) rep(c("a","b","c"),4) #2.11 产生字母序列####
letters[1:30] #2.12 which()函数####
a<-rnorm(10)
a which.max(a) #位置 a[which.max(a)] which(a==a[which.max(a)]) which(a>0) a[which(a>0)] #2.13 排序函数####
a<-1:10
a rev(a) #反转顺序 a<-c(3,1,5,6,9,2,7,4,6,5) sort(a) # make a from small to big (sorting) rev(sort(a)) # reverse sort a #2.14 生成矩阵####
a<-c(1:36) a1<-matrix(a,nrow = 9,ncol = 4);a1 a2<-matrix(a,nrow = 4,ncol = 9);a2 a3<-matrix(a,nrow = 9,ncol = 4,byrow = TRUE);a3 dim(a1) #dim函数用来查看矩阵的维度 dim(a2)[1] #行 dim(a3)[2] #列
#矩阵运算 ##解方程
#解方阵
x1<-c(4,2,-1,1)
x2<-c(3,-1,21,1)
x3<-c(11,3,1,1)
x4<-c(1,1,1,1)
b<-c(2,10,-8,1);b
A<-as.matrix(rbind(x1,x2,x3,x4));A
solve(A,b)
#一元高次。a+bx+cx^2=0, c(a,b,c)
polyroot(c(4,-4,1))
svd(A) #奇异值分解 cor(x1,x2,method = c("spearman"))
options() # 设置小数点位数等paramater
x <- t(A) %*% A #矩阵A的转置成A
x/5
cov(A)
t(a1) a1+a2 a1+a3 #2.15 改变Rstudio的工作界面(通过tools里面的layout设置完成)#### #2.16 设定工作目录,方便载入数据.将数据存放在设定的目录中,载入数据时就不用指定路径了####
setwd("~")
setwd("~")
#!!or ctrl+5, click ‘ ...’ ,choose object file ,click ‘more’ >>set as working directory getwd() #用于知道当前工作目录 #2.17 help()函数 ####
help("seq")
?seq
help(package="ggplot2") #获取对整个包的帮助文件 #2.18 example()函数 ####
example("seq")
example("plot")
example("hist") #搜索自己需要的函数
help.search("multivariate normal") #2.19 数据框。dataframe####
##数据框就是一个数据表格,一行表示一个记录,一列表示一个变量 x1<-c(1,2,3,4,5,6,7,8,9)
x2<-c(2,4,6,8,10,12,14,16,18)
x <-data.frame(x1,x2);x x=data.frame('重量'=x1,'运费'=x2);x
#or
names(x) <- c('重量','运费');x x$"费率" <- x$运费/x$重量 #数据框可以利用已有的变量产生新的变量并存储于当前数据框中 names(x) #查看数据框中的变量 str(x) #查看数据框中数据的定义 #我们在载入数据后,要使用上面的两个函数来检查数据载入是否成功,并检查数据的定义 ###2.20 列表 list()####
x1<-1 #单个数字,其实是一个只有一个元素的一维向量 x2<-c(1,2,3,4) #有四个元素的一维向量 x3<-c("a","bc","d") #字符向量 x4<-matrix(1:36,nrow = 9,ncol = 4) #矩阵,vector x5<-data.frame(a=c(1,2,3,4),b=c(2,3,4,5),c=c(3,4,5,6)) list_01<-list(x1=x1,x2=x2,x3=x3,x4=x4,x5=x5) #产生一个数据框 list_01$x3
###3.数据导入与导出#### #3.1 先把R内置的CO2数据集导出,然后再练习导入操作####
write.table(CO2,file = "二氧化碳.txt")
write.csv(CO2,file = "二氧化碳.csv") #3.2 导入逗号分割的文本文件####
read.table(file = "二氧化碳.txt",header = TRUE) #最好给指定一个名称#
carbon<-read.table(file = "二氧化碳.txt",header = TRUE) #3.3 导入csv格式的数据####
carbon_csv<-read.csv(file = "二氧化碳.csv",header = TRUE) #3.4 通过剪贴板读入数据并写入文件####
setwd("~")
clipboard<-read.table("clipboard",header = TRUE) # often-used!!
clipboard write.table(clipboard,file = "clipboard.txt") #3.5 导入空格分割的文本文件数据####
setwd("~")
data <- CO2
write.table(data,'test.txt')
co2<-read.table(file = "test.txt",header = TRUE)
names(co2);str(co2) #3.5.1 读取数据框中的变量#### #1)很多函数中有data参数,可以指定数据框,然后在函数内部直接访问数据框中的变量
co2$conc<-as.factor(co2$conc) #variable must be numeric
boxplot(uptake~conc,data = co2) #boxplot(y ~ grp) ,grp usually a factor
#2)使用美元符号$
boxplot(co2$uptake~co2$conc)
#3)使用attach函数,不推荐使用,很容易出错,特别是在同一个R代码集中写很多不同程序的时候
attach(co2)
boxplot(co2~year)
detach(co2)
###3.6 数据子集操作#### #1)先明确分类变量有几个类别
unique(co2$Plant)
#2)选择数据子集
co2_15<-co2[co2$Plant=='Mc1',]
#3)多个条件用逻辑连接符号进行连接
co2_1501<-co2[co2$Plant=='Mc3'&co2$uptake==17.9,]
co2_1501
#4)排序操作 #,这个排序可能没有实际意义,这里只是演示操作的方便 orderuptake<-co2[order(co2$uptake),] #对行的操作
View(orderuptake) #5)合并数据子集 #(1)先读入数据
co2<-read.table(file = "test.txt",header = TRUE)
#or
co2<-read.table("clipboard",header = TRUE) #通过剪贴板读入数据
#(2)然后进行合并
#假设plant是人名,我们要将另一个带有人名的数据合并
name <- co2$Plant;name
x <- c(rnorm(84,0,1)) #生成84个随机正态数列
co3 <- data.frame(name,x)
tem <- merge(co2,co3,by.x = 'Plant',by.y = 'name' ) #3.7 读入Excel格式的文件####
#install.packages("RODBC") #注意有些包只在特定版本中能够运行,更新问题
#library(RODBC)
#xls<-odbcConnectExcel("mvstats4.xls") co2<-read.table("clipboard",header = TRUE) #有行名列名
library("readxl")
co3 <- read_excel('test.xls') #只有行名 或者 只有列名
R基础-适合于纯小白的更多相关文章
- python基础讲解部分&纯小白需要扎实基础
第一章知识点 一.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum),在中国人称龟叔 Python崇尚优美.清晰.简单 应用领域: (1)云计算,写 ...
- .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇
.net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...
- Linux纯小白操作(以安装JDK为例)
[本文只针对纯小白,有基础的请略过] 最近公司给分配工作使用的虚拟机都是Linux系统的,以前完全没接触过,今天按照网上一些教程操作,好多地方感觉对小白不够友好(有些问题非常小白那些教程没有写出来.我 ...
- R基础学习
R基础学习 The Art of R Programming 1.seq 产生等差数列:seq(from,to,by) seq(from,to,length) for(i in 1:length(x) ...
- git与github建立仓库连接步骤(纯小白教程)
一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...
- emacs org-mode 中文手册精简版(纯小白)
一只小白看了大佬的讲解视频结合其他大佬给整理的笔记再结合emacs 官方英文手册,觉得自己的知识好像增加了. 当时自己在全网搜索的时候没有看到那种纯小白的手册,本小白就写了这个,就当奉献社会了.若有不 ...
- 社交网络分析的 R 基础:(一)初探 R 语言
写在前面 3 年的硕士生涯一转眼就过去了,和社交网络也打了很长时间交道.最近突然想给自己挖个坑,想给这 3 年写个总结,画上一个句号.回想当时学习 R 语言时也是非常戏剧性的,开始科研生活时到处发邮件 ...
- .net core +codefirst(.net core 基础入门,适合这方面的小白阅读,本文使用mysql或mssql)
设置为model所在的那一层 前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以.net mvc开发员很容易入手.net core mvc .但是两个又 ...
- 推荐五个java基础学习网站,小白必备
不知道去哪找java基础资料?推荐几个学习网站,小白必备 Java经过20多年的发展,仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.拥有庞大的客户群.并且java应用范围很广,基本只 ...
随机推荐
- HTML5--(1)兼容前缀+结构性标签+语义化标签
一.兼容前缀+兼容写法 兼容前缀 1.HTML5有部分类容兼容到IE9,IE8及以下完全不兼容的内容不再考虑. 2.部分内容需要加兼容前缀 a) -webkit- 兼容谷歌 b) -m ...
- 使用auth_request模块实现nginx端鉴权控制
使用auth_request模块实现nginx端鉴权控制 nginx-auth-request-module 该模块是nginx一个安装模块,使用配置都比较简单,只要作用是实现权限控制拦截作用.默认高 ...
- WebService,ASMX文件使用XML格式数据传递参数、验证与获取XML格式返回值的一种方式
1:首先WebService方法定义,每个方法定义两个参数,一个用于验证权限,string格式的XML文本用于传输数据.最终目的实现,WebService方法,验证权限,获取XML数据,处理之后返回X ...
- python学习之老男孩python全栈第九期_day024知识点总结——单继承、多继承
一. 单继承 class A:pass # 父类,也叫基类,也叫超类 class B:pass # 父类,也叫基类,也叫超类 class AB_son(A,B):pass # 子类,也叫派生类 cla ...
- C# Task.FromResult的用法
Task.FromResult用来创建一个带返回值的.已完成的Task. 场景一:以同步的方式实现一个异步接口方法比如有一个接口包含异步方法. interface IMyInterface { Tas ...
- 【数据库】java链接jdbc 释放资源
/* * 编写快速 入门的jdbc 程序 : * * 1. 先导入 具体的驱动jar包 * 2. 编写一个类 , 写jdbc 的程序 * * 具体的编写 java类的 代码的 ...
- Hadoop完全分布分布式配置
1.准备三台虚拟机.安装Ubuntu操作系统,具体过程省略 2.三台虚拟机上分别安装Java环境,具体过程省略(保证三者的Java路径一致) 3.三台机器分别配置ssh本机免密码登录 (1)安装ssh ...
- FTP上传和WEB上传的区别
说区别之前,咱先说说什么是上传?上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到.将制作好的网页.文字.图片等发布到互联网上去,以便让其他人浏览 ...
- Azure 订阅和服务限制、配额和约束
最后更新时间:2016年10月24日 概述 本文档指定一些最常见的 Azure 限制.请注意,本文档目前未涵盖所有 Azure 服务.一段时间后,将展开并更新这些限制以包含多个平台. NOTE: 如果 ...
- Docker-commit镜像提交
docker commit:提交容器副本使之成为一个新的镜像 docker commit -a="作者名" -m="提交的描述信息" 容器id 新建的镜像名称: ...