机关门户网站建设管理情况,开发公司五一节前安全生产工作部署会,包装设计专业是学什么的,小型企业网站开发价格什么狗吧发明的结业考#xff0c;站出来和我对线
第一章 绪论
吊码没有#xff0c;就算考R语言特点我也不背#xff0c;问就是叫么这没用。
第二章 R语言入门
x-1:20 赋值语句 x 1到20在x上添加均值为0、标准差为2的正态分布噪声
y - x rnorm (20, 0, 2)
这…什么狗吧发明的结业考站出来和我对线
第一章 绪论
吊码没有就算考R语言特点我也不背问就是叫么这没用。
第二章 R语言入门
x-1:20 赋值语句 x 1到20在x上添加均值为0、标准差为2的正态分布噪声
y - x rnorm (20, 0, 2)
这段代码就是生成随机数
20生成20个数
0 均值
2 标准差记住就完了fit - lm (y ~ x) y~x的线性回归summary (fit) 概要显示fit age-c(1,3,5,2,11,9,3,9,12,3) 还是赋值官方叫产生向量我的评价是别忘写cmean(weight) 求weight的平均值sd(weight) 求weight的标准差cor(age,weight) 求age和weight之间的相关系数plot(age,weight) 绘制以age为横坐标和以weight为纵坐标的散点图getwd() 显示当前的工作目录setwd(mydirectory)修改当前的工作目录为mydirectoryls() 列出当前工作空间中的对象rm(objectlist) 移除删除一个或多个对象q() 退出Rsource(test) 可在当前会话中执行一个脚本sink(filename) 将输出重定向到文件filename中。默认情况下如果文件已经存在则它的内容将被覆盖install.packages(gclus)安装R包library(gclus) 加载到内存.libpath() 显示包所在位置 习题
输入命令help.start()在浏览器中显示帮助文档并学会使用帮助文档。
函数source(test)可在当前会话中执行一个脚本。
函数sink(myfile) 将输出重定向到文件myfile中。
R是开源的
安装datasets包install.packages(datasets)
加载datasets包到内存library(datasets)
显示datasets包所在位置system.file(package datasets) / find.package(datasets)
显示已加载的包search()
列出当前已加载包中所含的所有可用示例数据集data()
显示当前工作目录并修改当前的工作目录为myworkspacegetwd() setwd(myworkspace)
查看函数foo的帮助并运行函数foo的使用示例?foo
列出3种有关用于保存图形输出的函数
1
png(plot.png) # 保存为plot.png文件
plot(x, y) # 绘制图形
dev.off() # 关闭设备
2
pdf(plot.pdf) # 保存为plot.pdf文件
plot(x, y) # 绘制图形
dev.off() # 关闭设备
3
library(ggplot2)
p - ggplot(data, aes(x, y)) geom_point() # 创建ggplot2绘图对象 aes(x, y)表示定义了 x 和 y 轴的变量名 geom_point()是一个几何对象函数用于在散点图中添加点。
ggsave(plot.png, plot p) # 保存为plot.png文件p要替换为实际的绘图对象简要介绍R语言的优点 免费且开源、强大的数据分析和统计功能、大型生态系统、数据可视化能力、复现性和文档化、平台跨度、教育和学习资源丰富
加载shiny包library(shiny)
列出包shiny中可用的函数和数据集
# 列出shiny包中的函数
functions - ls(package:shiny, pattern ^[A-Za-z].*)
# 列出shiny包中的数据集
data - ls(package:shiny, pattern ^data)运行01_hello / 运行runExample()查看shiny自带的demorunExample(01_hello)
退出Rq()
第三章
在R语言中行不叫行列不叫列行叫观测列叫变量/因子
R中定义了一些常量类型
NA 表示不可用
Inf: 无穷
-Inf: 负无穷
TRUE 真
FALSE假seq() 产生一个等差向量序列
格式seq(from n, to m, by k,len w)
例子seq(2, 10 ) #默认公差为1
[1] 2 3 4 5 6 7 8 9 10seq(2, 10 ,2) #如果不指定长度form,to,by关键词可以省略
[1] 2 4 6 8 10seq(from 2, by 2,len10) #关键词to和len不能同时使用
[1] 2 4 6 8 10 12 14 16 18 20rep() 重复一个对象
格式1rep(x,times):
x是要重复的对象例如向量c(1,2,3),times为对象中每个元素重复的次数如timesc(9,7,3)就是将x向量的1重复9次2重复7次3重复3次。
格式2rep(x, eachn)
重复x元素n次rep(c(1,2,3),2)得到1 2 3 1 2 3rep(c(1,2,3),each2)得到1 1 2 2 3 3。rnorm()随机产生正态分布向量
格式rnorm(个数,均值,方差)
例子x-rnorm(100) #默认均值为0方差为1x-rnorm(5,2,3)
说明1同一向量中无法混杂不同类型的数据。
说明2f - 3表示只有一个元素的向量。x-seq(2, 10 ) x
[1] 2 3 4 5 6 7 8 9 10x[3] #下标为正数取出下标对应的元素
[1] 4x[-3] #下标为负数排除下标对应的元素
[1] 2 3 5 6 7 8 9 10x[c(3,5,8)] #如果一次取出多个元素需要用向量做下标
[1] 4 6 9x[-c(3,5,8)]
#如果一次排除多个元素需要用向量做下标注意负号
[1] 2 3 5 7 8 10x[which(x6)] #取出满足条件的元素要使用which()函数
[1] 7 8 9 10x[which.max(x)] #取出最大元素最小元素小标为which.min
[1] 10x[3:5] #取出连续的元素
[1] 4 5 6向量运算
R语言最强大的方面之一就是函数可以直接对向量的每个元素进行操作。
【例】产生两个不等长整数向量x和y计算√ xy, xy, xy,及x的长度。
【解】y-2:5 #产生向量xx-seq(2, 10 ) #产生向量ysqrt(x) #向量开方xy #向量加如果两个向量的长度不同R将重复较短的向量
#元素直到得到的向量长度与较长的向量的长度相同为止。
[1] 4 6 8 10 8 10 12 14 12crossprod(x,x) #內积tcrossprod(x,x) #外积
length(x) #向量长度矩阵引用
方法1使用下标和方括号来选择矩阵中的行、列或元素。
y[i,]返回矩阵y中的第i行
y[,j]返回第j列
y[i,j]返回第i行第j列元素。
y[i,-j]返回第i行,但排除第j列元素。
y[-i,j]返回第j行,但排除第i行元素。
方法2使用向量和方括号来选择矩阵中的行、列或元素。
y[c(1,3),c(2:4)]返回第1,3行第2,4列元素。
y[c(1,3),-c(2:4)]返回第1,3行但排除第2,4列元素。矩阵运算
转置:t(y);
横向合并矩阵:cbind();
纵向合并矩阵:rbind();
将矩阵转化为向量as.vector();
返回矩阵维度dim()、nrow() 和ncol()
对矩阵各列求和:colSums();
求矩阵各列的均值:colMeans();
对矩阵各行求和:rowSums();
求矩阵各列的均值:rowMeans();
计算行列式det()数组array与矩阵类似但是维度大于2。数组可通过array函数创建形式如下
格式myarray-array(data,dimentins)
data包含了数组中的数据
dimensions给出了各个维度下标的最大值。
例子
z-array(1:24,c(2,3,4)) #4个两行三列以1到24为数据的矩阵
数组是矩阵的一个自然推广在编写新的统计方法时数组可能很有用。像矩阵一样数组中的数据也只能拥有一种类型。
数组引用与矩阵相同如元素z[1,2,3]为15。# 第三个矩阵的一行二列元素创建数据框
x-data.frame(col1, col2, col3……)
其中的列向量col1, col2, col3,… 可为任何类型如字符型、数值型或逻辑型。创建数据框
x-data.frame(col1, col2, col3……)
其中的列向量col1, col2, col3,… 可为任何类型如字符型、数值型或逻辑型。
例
mydataset - data.frame(Site c(A, B, A, A, B),Season c(winter, summer, summer, spring, fall),PH c(7.3, 6.4, 8.6, 7.2, 8.9)
)
# Site、Season、PH为列名数据框引用
数据框的引用与矩阵一样如x[1:3,],x[2,c(2,4)]。除此之外增加通过变量引用数据框元素的方法如把表2-1的数据狂定义为x,则x$age等价于x[,3]。修改行/名称
可以通过colnames(数据框)来读取并编辑列名称。
colnames(mydataset)[1]-a
colnames(mydataset)[2]-type
colnames(mydataset)
可以通过row.names(数据框)来读取并编辑行名称row.names(mydataset)-c(r1,r2,r3,r4,r5)row.names(mydataset)
[1] r1 r2 r3 r4 r5mydataseta type PH
r1 A winter 7.3
r2 B summer 6.4
r3 A summer 8.6
r4 A spring 7.2
r5 B fall 8.9创建列表
mylist-list(object1, object1,……)
其中的objecti可以是目前为止讲到的任何结构类型。
【例】构造数据框并重新命名。g-my first listh-c(26,26,18,29)j-matrix(1:10,nrow5)k-data.frame(c(1,2),c(3,4))mylist-list(titleg,agesh,j,k) #可以为列表中的对象命名访问列表中的元素。
mylist[[2]]和mylist[[ages]]均指那个含有四个元素的向量。由于两个原因列表成为了R中的重要数据结构。首先列表允许以一种简单的方式组织和重新调用不相干的信息。其次许多R函数的运行结果都是以列表的形式返回的。需要取出其中哪些成分由分析人员决定。函数factor()以一个整数向量的形式存储类别值整数的取值范围是[2... k ]其中k 是名义型变量中唯一值的个数同时一个由字符串原始值组成的内部向量将映射到这些整数上。
举例来说假设有向量
diabetes-c(“type1”,“type2”, “type1”, “type1”)
语句diabetes - factor(diabetes)将此向量存储为(1, 2, 1, 1)并在内部将其关联为1Type1和2Type2具体赋值根据字母顺序而定
要表示有序型变量需要为函数factor()指定参数orderedTRUE。给定向量
status-c(“Poor”, “Improved”, “Excellent”, “Poor”)
语句status - factor(status, orderedTRUE)会将向量编码为(3, 2, 1, 3)并在内部将这些值关联为1Excellent、2Improved以及3Poor。
通过指定levels选项来覆盖默认排序。例如
status-factor(status, levelsc(“Poor”,“Improved”, “Excellent”))
各水平的赋值将为1Poor、2Improved、3Excellent。请保证指定的水平与数据中的真实值相匹配因为任何在数据中出现而未在参数中列举的数据都将被设为缺失值。求字符串长度 nchar(data)字符串合并 paste(data,data1,sep,)字符串分割 strsplit(string,sep) # sep分隔符读取和替换字符串substr(string,start,stop) # start / stop 都是下标从1开始字符串替换 chartr(old,new,string) # old表示需要被替换的字符new表示替换后的字符而string则是要进行字符替换的源字符串。字符串拼接函数
str_c: 字符串拼接。
str_join: 字符串拼接同str_c。
str_trim: 去掉字符串的空格和TAB(\t)
str_dup: 复制字符串
str_sub: 截取字符串
str_sub- 截取字符串并赋值同str_sub字符串计算函数
str_count: 字符串计数
str_length: 字符串长度
str_sort: 字符串值排序
str_order: 字符串索引排序规则同str_sort字符串匹配函数
str_split: 字符串分割
str_split_fixed: 字符串分割同str_split
str_match: 从字符串中提取匹配组。
str_match_all: 从字符串中提取匹配组同str_match
str_replace: 字符串替换
str_replace_all: 字符串替换同str_replace
str_replace_na: 把NA替换为NA字符串
str_locate: 找到匹配的字符串的位置。
str_locate_all: 找到匹配的字符串的位置,同str_locate
str_extract: 从字符串中提取匹配字符
str_extract_all: 从字符串中提取匹配字符同str_extract字符串变换函数
str_to_upper: 字符串转成大写
str_to_lower: 字符串转成小写,规则同str_to_upper
str_to_title: 字符串转成首字母大写,规则同str_to_upper查找一下看有没有do组合的单词。
ext-c(Dont,aim,for,success,if,you,want,it,just,do,what,you,love,and,believe,in,and,it,will,come,naturally)
#查找含有DO组合的单词 grep([Dd]o,text)#不区分大小写
[1] 1 10 grep([D]o,text)#D要大写
[1] 1 grep([d]o,text)#D小写
[1] 10习题
status-c(“Poor”, “Improved”, “Excellent”, “Poor”) Status是有序型变量。
R中的数据结构包括向量、矩阵、数组、数据框和列表。
R中最常处理的数据结构是数据框data frame。
amatrix(1:12,nrow4,ncol3);a[2,2];结果为6
如果A是5行x6列的矩阵t(A)是6行x5列的矩阵
adet(matrix(1:12,nrow4,ncol3,byrowTRUE)) #行优先 bdet(matrix(1:12,nrow3,ncol4,byrowFALSE)) #列优先两者都显示出错信息-行列式的计算要求矩阵必须是方阵
要将矩阵转换为向量可以使用函数as.vector()
对于字符型向量默认情况下因子的水平levels是根据字符的出现顺序创建的。
列表list是R语言的数据类型中最为复杂的一种。 一般来说列表就是一些对象的有序集合。
factor()函数为类别型变量创建值标签
要生成100个满足标准正态分布 N(0,1) 的随机数可以使用 R 中的函数rnorm() random_numbers - rnorm(100, mean 0, sd 1)
要横向合并矩阵c(2,1),c(4,3)cbind() cbind(c(2,1), c(4,3))
请使用seq() 产生一个首相为2公差为2长度为10的等差向量序列seq(from2, by2, length.out10)
建立一个R文件在文件中输入变量x(1,2,3)Ty(4,5,6)T并作以下运算。
①计算 z2xye,其中 e(1,1,1)T;
②计算x与y的內积
③计算x与y的外积
# 输入变量 x 和 y
x - t(c(1, 2, 3))
y - t(c(4, 5, 6))
# 定义向量 e
e - t(c(1, 1, 1))
# 计算 z 2x y e
z - 2 * x y e
# 计算 x 与 y 的内积
inner_product - sum(x * y)
# 计算 x 与 y 的外积
outer_product - crossprod(x, y)第四章 导入Excel数据
library(xlsx)
workbook - c:/myworkbook.xlsx
mydataframe - read.xlsx(workbook, 1)导出文本文件
【例】把给定数据框保存为文本文件以空格分隔数据列不含行号不含列名字符串不带引号。
age - c (22,23)
name - c (ken, john)
f - data.frame (age, name)
write.table (f,file f.csv, row.names FALSE, col.names FALSE, quote FALSE) 保存图片
保存为PNG格式
png(filemyplot.png, bgtransparent)
保存为JPEG格式
jpeg(filemyplot.jpeg)
保存为PDF格式
pdf(filemyplot.pdf)习题
用数据框的形式读入数据read.csv(data.csv)
读入文本文件abc.txt到数据框要求包含栏头使用的R函数是read.table(“abc.txt”,headerTRUE)
通过函数write.csv()保存表4.4为一个.csv文件然后通过write.csv()将表格中的数据存到数据框data1中再将data1中的数据加载到数据框data2中同时输出data2
# 保存表4.4为.csv文件
write.csv(table4.4, file table4.4.csv, row.names FALSE)
# 将表格数据存入数据框data1
data1 - read.csv(table4.4.csv)
# 将data1中的数据加载到数据框data2
data2 - data1
# 输出data2
print(data2)write.table()函数参数“header”的功能为反映这个文件的第一行是否包含变量名
使用于小规模数据集mydata - read.table()
第五章 # 计算每行的元素总和
row_sums - apply(data, 1, sum) # 第二个参数是1这表示按照行的方向进行操作ggplot2 习题
向日葵散点图可以用来克服散点图中数据点重叠问题。
在“箱线图”中箱体的底部表示下四分位数
散点图和线图有助于描绘两个变量之间的关系。
plot()函数可以按照向量绘制图形。
第六章 习题
判断是否有缺失值的函数是 is.na()
对于缺失数据通常有三种常见的处理方法 删除缺失数据、插补缺失数据、将缺失数据作为一个单独的类别或指标
检测数据的异常值是使用函数outlier() / outlier.test() / boxplot()
如何判定离群 根据统计指标使用均值、标准差、分位数等统计指标将超过一定阈值的观测值定义为离群值。 基于箱线图通过观察箱线图中的异常观测点超过上下四分位距的1.5倍或3倍的观测值被认为是离群值。 基于专业知识或领域经验根据特定领域的专业知识或经验对数据中的异常观测值进行判定。
在R语言中通常使用 hist() 函数来绘制直方图。
当对数据进行批量操作时可以通过对函数返回值进行约束根据是否提示错误判断是否存在数据不一致问题可以通过 stopifnot() 函数。
第七章 习题
矩阵和多维数组的向量化有直接的类型转换函数 as.vector向量化后的结果顺序是列优先
在数据分析体系中ETL功能不包括进行数据挖掘 包括对错误的源数据进行清洗、对数据格式进行必须的转换、读取源数据
数据集1, 2, 3, 6, 3经过中间化的结果是-2,-1,0,3,0
数据集1, 2, 3, 6, 3经过数据的标准化后的结果是
数据的标准化是一种常见的数据预处理技术它使得数据的均值为0标准差为1。要计算数据集的标准化结果可以按照以下步骤进行操作
1 计算数据集的均值mean。
2 计算数据集的标准差standard deviation。
3 对每个数据点将其减去均值然后除以标准差。
对于给定的数据集 1, 2, 3, 6, 3我们可以按照上述步骤进行标准化计算。请注意这里假设使用样本标准差进行计算。
均值(1 2 3 6 3) / 5 3
标准差sqrt(((1-3)^2 (2-3)^2 (3-3)^2 (6-3)^2 (3-3)^2) / 4) ≈ 1.82574
标准化结果(1-3)/1.82574, (2-3)/1.82574, (3-3)/1.82574, (6-3)/1.82574, (3-3)/1.82574
计算结果为-1.09545, -0.54772, 0, 1.64316, 0
因此数据集 1, 2, 3, 6, 3 经过标准化后的结果是 -1.09545, -0.54772, 0, 1.64316, 0。R函数的参数传递方式是按值传递pass-by-value变量不可能原地址修改后再放回原地址。
数据聚集函数包括sum()、avg()、max()、min()。
aggregate函数的作用根据数据对象不同它的用法有对数据框、数组或矩阵进行聚合 第八章 source(“SumSquareFunc.R”) 是 R 中的一个函数调用用于加载并执行指定文件中的 R 代码。
习题
R 语言的选择控制结构包括 if、else 和 switch。
R语言中适用于一个条件有多个分支的情况的选择结构是switch
除了常见的 while 循环和 for 循环R 语言还提供了 repeat 循环。
R 语言中需要通过 break 来结束循环的循环结构是repeat
R 语言中测试条件在循环体的末尾的循环结构是for
R 语言中的函数可以包含任意数量的参数并且这些参数可以具有默认值。
第九章 在 R 语言中table() 函数用于创建频数表它接受一个向量作为输入并返回一个由唯一值和相应频数组成的表格。
head(faithful, 3) 预览faithful数据集的前三行。
使用range()函数得到数据上下界
seq() 函数在 R 语言中用于创建等差数列sequence三个参数from起始值、to结束值和 by步长。
cut() 函数在 R 语言中用于将连续变量分割为离散的组bins。
三个参数
x要分割的连续变量。
breaks指定分割点的方法可以是一个数值向量或一个整数表示分割成的组数。
right一个逻辑值指定是否包含右边界默认为 TRUE表示右闭区间。str() 函数用于查看对象的结构信息包括对象的类型、尺寸和成员等
cumsum() 函数用于计算给定向量的累计和。
stem() 函数在 R 语言中用于创建茎叶图它接受一个向量作为输入并将该向量的值分解为茎部和叶部。 par 是 R 语言中用于设置图形参数的函数。
mfrow 是 R 语言中用于设置多个图形的布局的参数。第十章 习题
ROC曲线又称作敏感曲线
模型评估常用到得方法有混淆矩阵、风险矩阵、成本曲线、Lift曲线、ROC曲线、精度-召回率曲线等方法。
p-value常用到的标签显著性水平、原假设、备择假设、单侧检验等。
模型评估的度量参数有度量准确率、识别率错误率、误分类率敏感度、真正例率、、特效型、真负例率精度(precision)F分数Fb、其中b是非负实数 // 问号处实在是找不到其他的参数
混淆矩阵评价有6个指标分别为准确度、灵敏度、特异性、错误率、误判率、召回率
分别用公式表达准确度灵敏度特异性错误率误判率并解释其含义
总结
很多PPT我去掉了因为我觉得不会考所以重点复习有印象和课后题中出现的知识点