RNote100---Tricks of R

网友投稿 260 2022-09-17

RNote100---Tricks of R

1、do.call函数

针对list里的所有元素执行某一函数,如对N个数据框执行行合并的操作 do.call(“sum”,list(2,4)) [1] 6

2、library()如何引用变量

如果包的名字以变量传到library中,需要设置character.only = T

package <- ggplot2library(package, character.only = T)

3、加载某个包,如没安装则安装

##character.only = T,指识别字符串## 函数作用,如果没有安装指定包,则安装并且加载~## 出现警告,打印警告信息。出现错误,打印错误信息## 对应包的名字需要以字符串形式输入load_packages <- function(package) { tryCatch( library(package, character.only = T), warning = function(w) { print(cat("出现警告", '\n', warnings())) }, error = function(e) { print(e) install.packages(package) }, finally = { print(paste0("导入", package, "包")) library(package, character.only = T) } )}

4、加载包、移除包、卸载包、已经加载的包

library()、detach("package:")、remove.packages("")、(.packages())cumsum

5、查看内存占用等

# 来查看当前所有对象名ls()# 看每个变量占多大内存object.size()# 查看现在的work space的内存使用memory.size()# 查看系统规定的内存使用上限memory.limit()# 释放所有内存rm(list=ls(all=TRUE))gc(reset=TRUE)

6、数据对象的保存和加载

save(list=c('dfTrain', 'trainWeights', 'dfTest', 'testID', 'dfSampleSubmission'), file='./data/training_testing_data_v1.RData')load('./data/training_testing_data_V2.RData')

7、查看当前目录下文件情况

list.files()

8、packages安装位置

.libPaths()

9、设置因子顺序

#增加参数设置,方便排序和展示pic_data_1$type <- factor(pic_data_1$type,order=TRUE,levels = c("申请订单","信审总计", "通过总计"))

10、累加、累乘等

#Returns a vector whose elements are the cumulative sums, products, #minima or maxima of the elements of the argumentx <- 1:5cumsum(x)#累加#1 3 6 10 15cumprod(x)#累乘# 1 2 6 24 120cummax(x)# 1 2 3 4 5cummin(x)# 1 1 1 1 1

11、转义符

"\n"#换行"\t"#Tab?Quotes#查看帮助

12、画出指定函数图像,添加到原来的图形上

curve(1/1.5+2/3*x,add = T)

13、鼠标交互式标注文字

#给图形加上文字说明text(locator(1),"abc")

14、常看包帮助文档

help(package="mongolite")

15、翻转函数

#元素间翻转rev(1:5)#5,4,3,2,1#元素内翻转rev(c("ABC","BCD"))#"BCD" "ABC"

16、停止运行

# 程序停止0.5秒再运行 Sys.sleep(0.5)

17、两个对象是否一致

# 比较奇葩的R对象的比较grep("Error",1:5) # integer(0)identical(grep("Error",1:5),integer(0)) # True

18、取消科学计数法

options(scipen = 200)

19、R版本更新之后,不用重新安装包

# 把老R包复制到新版本的library目录下,然后运行下面的代码update.packages(checkBuilt=TRUE, ask=FALSE)

20、取出字符串中所有的字母

str_extract_all("B51 B53 B55", "[A-Z]+")

21、查看R源码

22、排列组合

## 求组合choose(5,2) # 5*4/(2*1)=10## 求阶乘factorial(5) # 120## 组合具体情况,不考虑顺序combn(1:3, 2,simplify=TRUE) [,1] [,2] [,3][1,] 1 1 2[2,] 2 3 3

23、字符串转换为代码

eval(parse(text = '1+3'))## 4

24、排序

## 时间长不用这个函数,写法都忘掉了data(iris)## 升序排列iris[order(iris$Sepal.Width),]## 降序排列 iris[order(-iris$Sepal.Width),]

25、查看R版本

sessionInfo()

26、查看已经安装的包

# 详细的信息installed.packages()# 已经安装的包名dimnames(installed.packages())[[1]]

27、变量名操作

# 判断是否存在tes变量exists("tes")# 生成tes变量,value是它的值assign(x="tes",value=c("a","b","c"))# 获取变量名为"tes"的变量值get0("tes")

28、字符串编译执行

eval(parse(text = "print(1:10)"))

29、多行字符串

#多行只能人工调整test <-"ABC"cat(test)## 输出##A##B##C

30、Rmarkdown设置

eval FASLE: 不执行代码 TRUE: 执行代码(default)echo FASLE: 不输出代码,输出结果 TRUE: 输出代码&结果(default)include FASLE: 执行代码,不输出结果和代码 TRUE: 执行代码(default)warning、message、error FASLE: 不输出信息 TRUE: 输出信息(default)

所以只想输出代码而不执行:​​​echo = TRUE,eval=FALSE​​​​参考:https://yihui.name/knitr/options/#chunk_options​​

32、变量类型查看

classmodetypeof

31、Rmarkdown设置

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HTML相关知识---《基于R语言的自动数据收集》
下一篇:休克文案:蒙牛,这次真的牛!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~