R Language Learn Notes
One
#install package
install.packages("ggplot2")
#load library
library(ggplot2)
#update.packages()
#vector
v=c(1,4,4,3,2,2,3)
#get vector elements, index is 2,3,4
v[c(2,3,4)]
#get vector elements, index range is 2 to 4
v[2:4]
#get vector elements, index is 2,4,3
v[c(2,4,3)]
#delete vector elements index is 2
v[-2]
#delete vector elements index range is 2 to 4
v[-2:-4]
#get vector elements, which value < 3
v[v<3]
#get vector elements index, which value = 3
which(v==3)
#get vector max element index
which.max(v)
#get vector min element index
which.min(v)
#get random values
set.seed(250)
a=runif(3,min = 0, max = 100)
floor(a)
ceiling(a)
round(a, 3)
#read data from file
data1=read.table(file = "/Users/hwgt/workspace/Rlang/data_1.txt", header = TRUE)
#header to variable
attach(data1)
#draw
set.seed(123)
x=rnorm(100, mean = 100, sd = 10)
set.seed(234)
y=rnorm(100, mean = 100, sd = 10)
hist(x, breaks = 20)
plot(density(x))
plot(x)
boxplot(x, y)
boxplot(yage)
qqnorm(x)
qqline(x)
qqplot(x, y)
Two
# vector
a = c(1, 2, 3, 4, 5)
b = c("one", "two", "three")
c = c(TRUE, FALSE)
# matrix
x = matrix(1:20, nrow = 5, ncol = 4, byrow = TRUE)
x
y = matrix(1:20, nrow = 5, ncol = 4, byrow = FALSE)
y
x[2,]
x[,2]
x[1,4]
x[2,c(2,4)]
x[3:5,2]
rnames = c("apple", "banana", "orange", "melon", "corn")
cnames = c("cat", "dog", "bird", "pig")
m = matrix(1:20, 5, 4, TRUE)
rownames(m) = rnames
colnames(m) = cnames
m
dim1 = c("A1", "A2")
dim2 = c("B1", "B2", "B3")
dim3 = c("C1", "C2", "C3", "C4")
dim4 = c("D1", "D2", "D3")
z = array(1:72, c(2,3,4,3), dimnames = list(dim1, dim2, dim3, dim4))
z
z[1,2,3,]
# data frame
patientID = c(1,2,3,4)
age = c(25,26,27,28)
diabetes = c("Type1", "Type2", "Type1", "Type2")
status = c("Poor", "Improved", "Excellent", "Poor")
patientData = data.frame(patientID, age, diabetes, status)
patientData
# list
listData = list(patientData, x)
listData[1]
listData[2]
# graphs
par(mfrow=c(2,2))
plot(rnorm(50), pch=17)
plot(rnorm(20), type="l", lty=5)
plot(rnorm(100), cex=0.5)
plot(rnorm(200), lwd=2)
Three
# operator
# control flow
# for loop
for(a in 1:10) {
print(a)
}
# while loop
i = 1
while(i <= 10) {
print(i)
i = i + 1
}
# if
i = 2
if (i == 1) {
print("hello r")
} else if(i == 2){
print("goodbye r")
} else {
print("good r")
}
# switch
feelings = c("sad", "afraid")
for(i in feelings) {
print(
switch(i,
a = "a",
sad = "b",
c = "c",
afraid = "d",
e = "e")
)
}
# function
numSum = function(a, b) {
return(a + b)
}
print(numSum(1,2))
Four
# Bar Chart
#install.packages("vcd")
library(vcd)
counts = table(Arthritis$Improved)
counts
par(mfrow=c(2,2))
barplot(counts,
main="Simple Bar Plot",
xlab = "Improvement",
ylab = "Frequency")
barplot(counts,
main="Horizontal Bar Plot",
xlab = "Frequency",
ylab = "Improvement",
horiz = TRUE)
counts <- table(Arthritis$Improved, Arthritis$Treatment)
counts
barplot(counts,
main="Stacked Bar Plot",
xlab = "Treatment",
ylab = "Frequency",
col = c("red", "yellow", "green"),
legend = rownames(counts))
barplot(counts,
main="Grouped Bar Plot",
xlab = "Treatment",
ylab = "Frequency",
col = c("red", "yellow", "green"),
legend = rownames(counts),
beside = TRUE)
# Pie Chart
#install.packages("plotrix")
library(plotrix)
par(mfrow=c(2,2))
slices <- c(10,12,4,16,8)
lbls <- c("US", "UK", "AU", "GE", "FR")
pie(slices, lbls, main = "Simple Pie Chart", edges = 300, radius = 1)
pct <- round(slices/sum(slices)*100)
lbls2 <- paste(lbls, " ", pct, "%", sep = " ")
pie(slices, lbls2, main = "Simple Pie Chart With Progress", edges = 300, radius = 1)
pie3D(slices,labels = lbls, explode = 0.1, main = "3D Pie Chart", edges = 300, radius = 1)
# Fan Plot
slices3 = c(10, 12, 4, 16, 8)
lbls3 = c("US", "UK", "DE", "KR", "CN")
fan.plot(slices3, labels = lbls3, main = "Fan Plot")
# Dot Chart
dotchart(mtcars$mpg, labels = row.names(mtcars), cex = 0.7,main = "Dot Chart", xlab = "Miles Per Gallon")
# Summary
head(mtcars)
summary(mtcars)
# Tables
attach(mtcars)
table(cyl)
summary(mpg)
table(cut(mpg, seq(10, 34, by=2)))
# Correlations
states = state.x77[, 1:6]
cov(states)
var(states)
cor(states)
# T Test
x = rnorm(100, mean = 0, sd = 1)
y = rnorm(100, mean = 30, sd = 1)
t.test(x, y, alt="two.sided", paired = TRUE)
# Wilcoxon
wilcox.test(x, y, alt="less")
R Language Learn Notes的更多相关文章
- String comparison is too slow in R language
## String comparison is too slow in R language ## it will take 3 minutes, it is too slow date() strA ...
- Linux Academy Learn Notes
Linux Essentials Certification Globbing ls ?.txt --- ? stands for one character while * means one or ...
- Java 8 Learn Notes
Main reference: [1] http://winterbe.com/posts/2014/03/16/java-8-tutorial/ [2] https://plus.google.co ...
- R Language
向量定义:x1 = c(1,2,3); x2 = c(1:100) 类型显示:mode(x1) 向量长度:length(x2) 向量元素显示:x1[c(1,2,3)] 多维向量:multi-dimen ...
- Bash Scripting Learn Notes
References: [1] http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ 1. Executing programs from a scri ...
- Java 8 Learn Notes - Streams
Main reference [1] http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples 1. How Stream ...
- Dart Learn Notes 04
流程控制语句 流程控制语句的作用就是控制代码的执行流程. if and else var a = 10; if(a > 10){ print('ok'); }else if( 5 < a ...
- Dart Learn Notes 03
操作符 dart 有一套自己定义的操作符: 这里我就不再写了,直接copy一份官网的. 如果有过编程基础,上边展示的操作符应该都不陌生. 算术运算符 加: + 减: - 乘: * 除: / 取余: % ...
- Dart Learn Notes 02
Functions Dart是一门面向对象的语言,所以即便是方法也是一个对象,它的类型是Function. 这就意味着方法可以指向变量,也可以作为方法中的参数供其他方法使用.甚至可以让 一个类作为一个 ...
随机推荐
- Mysql中函数和存储过程的区别
Mysql中函数和存储过程的区别 存储过程: 1. 可以写sql语句 2. inout,out构造返回值 3. 调用:call:存储过程名称 4. 可以 ...
- Java集合源码 -- Collection框架概述
1.概述 collection框架是用于处理各种数据结构的,要根据各种数据结构的特点理解它 它能够保存对象,并提供很多的操作去管理对象,当你面临下面的情况时,也许你应该考虑用集合类 1.容器的长度是不 ...
- 利用memcached实现分布式锁
一 需求场景: (1) 需要限制用户创建提现订单的频率:目的一是防止前端bug引起的用户重复提交:二是防止并发攻击绕过提现策略(第一次提现和第二次提现门槛可能不同). (2) 需要限制秒杀下同一用户 ...
- 客户端对象模型之列表数据导出到Excel
1,废话不多话,直接上代码,留着以后做类似功能时Copy一下!有需要的朋友也可以参考一下. <!DOCTYPE html> <html xmlns="http://www. ...
- Oracle11gR2(ASM,UDEV)的RAC搭建安装
基本信息: 1) 安装包: 操作系统:rhel-server-6.7-x86_64-dvd.iso rac安装包: Oracle11gR2:linux.x64_11gR2_database_1of2. ...
- ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)
目录 前言回顾 最终解决: 0.关闭x服务 1.禁用nouveau 2.加入 3.更新 4.查找匹配驱动 5.选择推荐版本 6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | ...
- mariadb或者mysql查看某个库相关的用户授权信息
mariadb或者mysql查看某个库相关的授权信息 SELECT * FROM mysql.Db WHERE Db='DB_NAME';
- Python实现创建字典
编写一个名为 make_album() 的函数,它创建一个描述音乐专辑的字典.1.这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典.使用这个函数创建三个表示不同专辑的字典,并打印每个返 ...
- async之诗句慢慢出现
<body> <ul class="oul"></ul> <script> let str = ["君不见,黄河之水天上来 ...
- Redis简单介绍与数据类型
介绍 分布式缓存 NoSql:解决高并发.高可用.高可扩展,大数据存储等一系列问题而产生的数据库解决方案. Redis:键值(Key-Value)存储数据库 Redis是使用c语言开发的一个高性能键值 ...