R语言(小tips)

1. 仅知道函数的部分名称,想列出全部

apropos(‘tab’)

2. 列出全部有tab字段的函数,或者访问

http://finzi.psych.upenn.edu/search.html

3. 自动补全

双击tab键将返回所有可能的补全命令列表

4. 更改小数点位数
options(digits = ) #参数为1至22,默认7
5. 显示错误信息
options(show.error.messages=T)
6. 升级R,但不想重装packages?
  • 在其他目录安装R,在将旧版本保留的library目录下的文件拷贝至新版本library目录下,然后update.packages()
  • 或卸载R,把R装到旧的目录下,然后update.packages()
7. 卸载已安装的packages
remove.packages(c('pkg1','pkg2'), lib = file.path('path','to','library'))
8. library()的逆向操作
detach('package:pkg')
9. 得到加载package的列表
search()
.packages(all.available = T)

#le10=10*10^9
#1.2e-4=0.00012

10. 读取Excel数据两种方法
  • 另存为csv
  • 安装包openxlsx
library(openxlsx)
file <- file.choose()
a <- read.xlsx(xlsxFile =file,sheet = 1)

补充:读取pdf文件
library(pdftools) #加载PDF包
library(tidyverse) 
#file <- file.choose()
file <- "C:\\Users\\检验结果1.pdf"
pdf <- pdf_text(file) %>% readr::read_lines()
head(pdf)
11. 在对原数据进行了删除处理,但是希望调出原数据
data(iris)
12. 查看R中自带哪些数据
data()
13. 列出已安装的包中所有数据集
data(package = .packages(all.available = TRUE)) 
#packages(all.available = TRUE)表示可用的安装包

choose.dir()

14. 读取大数据

(fread是真的很快)

library(data.table)
data<-fread("附件 1.csv")
15. 查看环境中使用了哪些变量
ls()
16. 对所选行的R代码注释快捷键:Ctrl+Shift+c
17. R“无法打开cran”
#手动选择清华镜像
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
install.packages("RCurl")
18. 数据合并dplyr

在这里插入图片描述

从GitHub上下载包,要先library(devtools)
19. 混淆矩阵
library(caret)
confusionMatrix(actual, predicted) 
20.data.frame数据框变成一列向量
unlist(dataframename)
21. 对数值型变量分组cut()
cut(x = value,breaks =c(-Inf,20,40,60,Inf),labels =c("(-Inf,20)","[20,40)","[40-60)","[60,Inf)"),right = F)
#right默认为T,即(a,b],表示右边是为闭,是包含b值的,整个区间是左开右闭
#right改为F,表示不包含b值
22. levene检验既可用于正态总体,也可用于非正态总体,较为稳健的方差分析
library(car)
leveneTest(y = newdata$总费用,group=newdata$costtype)
23.从GitHub上下载安装包

例如,下载onetree这个包

library(devtools)
install_github("yikeshu0611/onetree") #在GitHub上下载安装包
library(onetree)
24. 根据dataframe的某两列进行排序

(负号可以进行降序,默认升序)
dat[order(col1,col2),]

25.R取分位数,并不显示分位数的名称

quantile(x,names=FALSE)

26.取出table()后的结果

as.numeric(table(df$col1))

问:bagging,boosting是什么?(答案不完全)

答:集成学习中,他们属于抽样的方式,bagging是等概率抽样,boosting是根据错误率进行抽样

问:支持向量机是什么?(待学习)
问:qq.plot()?如何实现对数据进行正态性检验,有了正态线,还希望画出误差线(待学习)
问:R当前已有向量?(待学习)
问:数据挖掘包含哪些领域?

答:分类,估值,预测,聚类,描述,可视化,文本分析,复杂数据挖掘(爬虫)txt、web、图形图像、视频、音频

问:聚类算法包括哪些?简述原理

答:层次聚类(凝聚的层次聚类和分裂的层次聚类),k中心聚类/k均值聚类,BIRCH,DBSCAN

  • 层次聚类不用预先确定k数,分类的类数
  • 凝聚层次聚类:所有样本都视为一类,按照距离合并,只至所有的都合为一类。
  • 分裂的层次聚类,将所有的都视为一类,根据距离,将样本进行细分,只至每个样本都归为一类,或者某个类达到最大样本数,或存在某两个类之间的距离达到阈值
  • k中心聚类/k均值聚类

需要事先确定k,类别数,以此来确定随机点的个数, 这一分类的思想是,人为确定类别数k后,系统设定k个随机点,作为类别中心,其他点根据距离最近被分配到这k个中心中,再计算k个类别的中心/均值作为新的类别中心,循环,只至迭代一定次数后,每个类别趋于稳定

  • BIRCH
    分为BOOT(UNLEAF),LEAF,MINCLUSTER,构成树的形状,从右到左依次是领边的子集,对容量有限制,限制数记为B,L,T,每个节点存储一个CF值,CF=(N,LS,SS),计算方法不做赘述.依次存储,计算距离,然后把点近的归为一类,达到饱和限定值后,分裂出新的节点,循环只到所有的点,都被安排好.当个别点未归入类比较集中的叶子中,可以视为离群点.
  • DBSCAN
    找出待聚类点中的核心点,再将其身边的直接密度可达点以及密度可达点找出,这些点形成一个簇
问:k折交叉验证是什么?

答:获得同等大小的k个数据集,将k-1作为训练集构建出训练模型,剩下的那个作为测试集,得到性能指标的测试值,重复k次,得到k个性能指标值,取平均.一般k取10

问:abline和lines的区别?

答:

  1. abline的使用(一般做回归线)
    在图上加水平直线
    abline(h=)
    在图上加垂直直线
    abline(v=x)
    在图上加y=a+bx的直线
    abline(a,b)
    在图上绘出线性方程y=a+bx
    abline(lm.obj)

  2. lines的使用(一般做连线图)
    lines(x,y)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值