R语言一些技巧

1、绘图相关
(其实下面最终的解决方式,是软件安装路径问题,将R语言和rstudio路径尽量装在一个盘里)

当你第一次绘图直接plot发现显示不了的时候
现将下面代码跑一遍,后面直接plot(X)就可以绘制图片,并直接在结果页面显示出来,具体原因不明(后面有时间再考究)。

H= c(7,12,28,3,41)
barplot(H)
png(file = "test.png")     #此处是关键,可能安装软件自己的问题
dev.off()
dev.new()       ##可能此处是解决问题关键,有些人仅运行这一步就解决问题

2、更改路径相关

> getwd()         #获取当前目录
[1] "d:/Program Files/RStudio"
> setwd("D:/r")     #获取新的存储地址,注意这里斜杆的方向

3、R中的formula中运算符的含义:

  • '~ ':连接公式两侧,的左侧是因变量,右侧是自变量。
  • ‘+’:模型中不同的项用+分隔。注意R语言中默认表达式带常数项,因此估计 [公式] 只需要写y~x。
  • ‘-’ :-表示从模型中移除某一项,yx-1表示从模型中移除常数项,估计的是一个不带截距项的过原点的回归方程。此外,yx+0或y~0+x也可以表示不带截距项的回归方程。 ::冒号在formula中表示交互项
  • ‘*’ :*不表示乘法, [公式] 与 [公式] 是等价的, [公式] 与 [公式] 等价
  • ‘^’ : [公式]^2与 [公式] 等价,所以 [公式] ^2在formula中并不是 [公式] 的平方的意思

4、数据清洗整理基本操作(R:dplyr、tidyr、lubridate)
https://www.cnblogs.com/lhjc/p/11295323.html
把以前在swirl课程学的基础数据清洗操作重新整理一遍,主要包括:
dplyr包中的select、filter、arrange、mutate、group_by、summarize函数,以及%>% 管道操算符(pip operation),“then”的意思。
tidyr包中的gather、seperate、spread函数。
lubridate包中date型变量记录更新等操作。

5、R语言数据框变量重编码
(1)transform函数只能用于数据框改变,而within函数应用更宽泛一些,可以用于除数据框之外的数据对象的改变。
(2)R语言中expr表达式执行一条语句占一行,执行多条语句需要换行;如果需要多条语句在同一行,则中间应当用分号;隔开。
(3)transform(数据框名, 对数据框的一系列修改),这些修改中间用逗号分隔,别换行。
(3)within(数据框名, {修改1;修改2;修改3;…})或者within(数据框名,{修改1
修改2
修改3})

#创建数据框mydata,x1和x2是mydata的两个列向量
mydata <- data.frame(x1 = c(2, 2, 6, 4), x2 = c(3, 4, 2, 8))

#利用transform函数对数据框mydata增加两个变量(列向量)sumx和meanx,并把结果存储在数据框mydata中
mydata <- transform(mydata, sumx = x1 + x2, meanx = (x1 + x2)/2)

#利用within函数,expr表达式执行一条语句占一行,执行多条语句需要换行
mydata <- within(mydata, {sumx = x1 + x2
                         meanx = (x1 + x2)/2})

#或者多条语句在同一行,则中间应当用分号;隔开
mydata <- within(mydata, {sumx = x1 + x2; meanx = (x1 + x2)/2})

6、R语言一些包
(1)pacman
pacman是一个管理R包的工具,加载之后,采用p_load函数对包进行安装和加载。

install.packages("pacman")
library(pacman)
p_load(ggplot2, EBImage, jpeg, ggpubr, plotly)

一般情况下,包需要先用install.packages来安装,然后用library来加载到R的环境中。上面我们对pacman包就是这样处理的。有了pacman之后,我们再要安装加载其他的包,就可以直接用p_load函数,我们注意到install.package里面的包名称需要用双引号括起来,在p_load中就不需要,省了很多事情。p_load会判断环境中是否有这个包,如果没有,先安装再加载;如果有,那么直接加载。p_load就是把install.package和library集成在一起的方便工具。
7、存储Rdata
当实际操作时,好不容易加载成功一个rdata,需要保留后期再次使用

save(data,file="d:/r/r-data/salary1.Rdata") #保存R文件
load("d:/r/r-data/salary1.Rdata") #读入R文件
head(data,5)     #显示前5行

8、R语言绘图时,x轴是日期格式
可能会出现 Error in plot.window(…) : 'xlim’值不能是无限的
但实际上这可能是没有处理日期数据格式造成的,应进行如下

#先转化字符再去转化为日期
 df$Date <- as.Date(as.character(df$Date))

9、相比较直观的看这些数据的缺失值
mice包中的md.pattern()函数可以生成一个以矩阵或数据框形式展示缺失值模式的表格。
备注:0表示变量的列中没有缺失,1则表示有缺失值。
第一行给出了没有缺失值的数目(共多少行)。
第一列表示各缺失值的模式。
最后一行给出了每个变量的缺失值数目。
最后一列给出了变量的数目(这些变量存在缺失值)。
在这个数据集中,总共有38个数据缺失。
图形化展示缺失数据:
aggr(sleep,prop=F,numbers=T)
matrixplot(sleep)
浅色表示值小,深色表示值大,默认缺失值为红色。

#展示数据框中确实值面板,进一步筛选列
install.packages("mice")
library(mice)
#返回一个矩阵,第一列表示符合该缺失模式的样本个数,最后一列表示缺少的变量个数
#两种缺失类型为monotone missing pattern    Non-monotone Missing Data Patterns
md.pattern(data_amf) 

在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言的magrittr包提供了一些特殊的代码编程技巧,可以使R语言程序更简单、更高效。通过学习magrittr,我们可以使用一种与传统的R语言代码有所不同的编程风格。 magrittr的设计理念是让代码更具可读性和易于理解,通过使用管道操作符 `%>%`,可以将多个函数串联起来,让代码更加流畅和简洁。这种编程风格有助于减少中间变量的使用,简化代码的结构,提高代码的可维护性和可读性。 除了magrittr包,R语言还有许多其他强大的工具和创新,这些可以帮助我们更好地使用和理解R语言。例如,R的极客理想系列文章涵盖了R的思想、使用、工具和创新等方面的要点,通过个人的学习和体验,向我们展示了R语言的强大之处。 R语言作为一门统计学语言,在小众领域一直闪耀着光芒。但随着大数据的爆发,R语言变成了一门炙手可热的数据分析工具,并吸引了越来越多具有工程背景的人加入。现在不仅统计领域,教育、银行、电商、互联网等各个领域都在广泛使用R语言。这使得R语言的社区不断扩大和成长。 R语言的应用不断扩展,它已经成为许多领域中数据分析的首选工具之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [R语言高效的管道操作magrittr](https://blog.csdn.net/fens/article/details/84634612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值