首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >04. R studio/R 工具指南(三:R包安装与使用常见问题)

04. R studio/R 工具指南(三:R包安装与使用常见问题)

作者头像
北野茶缸子
发布于 2021-12-17 00:57:05
发布于 2021-12-17 00:57:05
2.6K00
代码可运行
举报
运行总次数:0
代码可运行

目录:

  • R包来源
  • R包安装前设置
  • R包安装与加载
    • R包来源决定安装使用的代码
    • 安装后需要加载才能用
  • R包的使用逻辑及帮助
    • 帮助
  • R包使用常见问题
    • (1)大片提示信息
    • (2)packages not available
    • (3)别更新
    • (4)依赖包问题
    • (5)connection问题

部分内容参见 生信技能树课程

R 包基本介绍与相关函数

mean(), list(), sample(),这些function 都来自于某package中。这些函数以及它们的package 都作为基础的包默认安装在了R中。(安装R 就会默认安装它们)

通过install.packages() 下载包 通过library() 加载安装的包 通过require() 加载安装的包,和library不同,该命令会返回一个布尔值,若为TRUE表示有下载的包,且完成了加载。通过search() 查找运行的包

★要点:一次只能运行一个包。”

R包来源

(1)CRAN网站https://cran.r-project.org/web/views/(2)Bioconductorhttps://bioconductor.org/(3)githubhttps://github.com

R包安装前设置

镜像

镜像网站相当于主网站的副本,在访问主网站存在障碍时,访问镜像 网站也可。R和Bioconductor主网站位于国外,选择国内的镜像可加快访问速度。

国内镜像推荐

清华镜像(tuna,Beijing) 中科大镜像(ustc,Hefei)

镜像设置方法

方法1:tools–global option-packages-选择中科大或清华 方法2:代码设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")

R包安装与加载

可以直接在Rstudio中下载。

R包来源决定安装使用的代码

CRAN:install.packages() Biocductor: BiocManager::install() Github:devools::install_github()

from CRAN

例:tidyr

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages("tidyr")
form Biocductor
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages('BiocManager')
BiocManager::install("ggplot2")

由于2008年以后 BiocInstaller:biocLite() 就不再使用,因此有的老教程使用该命令应该替换为BiocManager。

from github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages('devtools')
devtools::install_github("jmzeng1314/biotrainee") #括号里写包名,本地安装的方法。
来源未知

谷歌、必应搜索包名,即可找到。

前两个命令逐个试一下,一个命令不成功就用另一个。

判断式安装

有时候我们不确定安装的R包是否已经存在,因此可以使用语句作为前提进行检验。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!require(ggplot2))install.packages('BiocManager')

安装后需要加载才能用

一次安装,每次打开新的session都要加载。

加载:二选一,不加引号,library()或require()

library() require()

library(tidyr) require(tidyr)

R包的使用逻辑及帮助

(1)安装包-加载包-使用包里的函数

如报错:找不到函数,则加载函数所在的包,重试。如报错:不存在叫xx名字的包,则安装xx包,重试。⚠️!!!library()是检查是否安装成功的标准。!!!

(2)已安装、不加载,直接使用

BiocManager::install() dplyr::filter()包名 ::函数名 ,表示显式的指定用某个包里的某个函数,通常用于实战中仅用一次的函数,也适用于两个包中的函数名有冲突的情况。(有时候可能不同的包中使用的函数命名了相同的名字)

帮助

(1)快速查看函数帮助文档

?max或者help("max"),主要看描述/参数/实例。example 非常好用,可以直接给出相关的使用语句。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?seq
help("seq")
example("seq")
(2)找R包介绍页面(CRAN或Bioconductor)

可以找到该R包最详细的介绍,包括安装使用的代码及详细的pdf文档。

(3)少数R包有cheatsheets

https://www.rstudio.com/resources/cheatsheets/

(4)browseVignettes

直接查看R包的网页说明书。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
browseVignettes('ggplot2')
(5)ls 查看包中函数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> head(ls('package:ggplot2'),5)
[1] "%+%"        "%+replace%" "aes"        "aes_"       "aes_all"   

R包使用常见问题

(1)大片提示信息

检查是否有error,没有就忽略

(2)packages not available

原因1:包名写错 原因2:安装命令使用错误 原因3:本机的R语言版本与包所要求的版本不符(极少)

(3)别更新

能不更新就不更新,除非一直报错。安装命令加参数:update = F, ask = F。问是否更新的、“不存在”的是依赖包

(4)依赖包问题

它问是否更新的是依赖包 R包之间存在复杂的依赖关系 使用A包,就必须同时用B、C, 而C又依赖了D包 理论上: 安装A,就会自动安装BCD 加载A,就会自动加载BCD 实际上:常会因为一两个依赖包的安装失败,导致你想安装的那个包安装失败。

(5)connection问题

切换镜像,检查网络连接,如果都没有问题,运行。

最后再来推荐一下我的包

https://github.com/mugpeng/pengToolkit

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# install devtools
install.packages("devtools")

devtools::install_github("mugpeng/pengToolkit")

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 北野茶缸子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JAVA项目实践,URL存在跨站漏洞,注入漏洞解决方案
跨网站脚本介绍 一 跨网站脚本 跨网站脚本(Cross-site scripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。
用户1289394
2021/03/29
2.5K0
【Java 代码审计入门-03】XSS 漏洞原理与实际案例介绍
为什么会有这一些列的文章呢?因为我发现网上没有成系列的文章或者教程,基本上是 Java 代码审计中某个点来阐述的,对于新人来说可能不是那么友好,加上本人也在学习 Java 审计,想做个学习历程的记录和总结,因此有了本系列的文章。
p4nda
2023/01/03
1.3K0
【Java 代码审计入门-03】XSS 漏洞原理与实际案例介绍
如何绕过XSS防护
本文旨在为应用程序安全测试专业人​​员提供指南,以协助进行跨站点脚本测试。源自于OWASP跨站脚本预防备忘单。本文列出了一系列XSS攻击,可用于绕过某些XSS防御filter。针对输入进行过滤是不完全是XSS的防御方法,可以使用这些payload来测试网站在防护XSS攻击方面的能力,希望你的WAF产品能拦截下面所有的payload。
stan1ey
2021/01/23
4.7K0
springboot 实现xss过滤
用户9131103
2023/09/16
5830
项目中如何对XSS统一处理
XSS攻击是指攻击者利用网站中的漏洞,向页面中注入恶意脚本,从而获取用户的信息或者控制用户的计算机。 举一个通俗的例子,早期使用JSP页面渲染页面的项目,如果将用户名改成nick<alert>1</alert>,则当用户打开页面时,就会弹出一个警告框,而这个警告框可以被恶意脚本所替代,例如读取cookies或者其他敏感信息等操作。
闻说社
2023/04/07
7480
Web 安全头号大敌 XSS 漏洞解决最佳实践
XSS 是目前最普遍的 Web 应用安全漏洞,它带来的危害是巨大的,是 Web 安全的头号大敌。
IT技术小咖
2021/02/22
9.4K1
Web 安全头号大敌 XSS 漏洞解决最佳实践
面试官:SpringBoot 该如何预防 XSS 攻击 ?
写此文章的目的是为了记录一下在工作中解决的 XSS漏洞 问题。XSS漏洞是生产上比较常见的问题。虽然是比较常见并且是基本的安全问题,但是我们没有做🙄️ ,也怪我没有安全意识。于是终于有一天被制裁了。所以这次就补上了,记录一下。
民工哥
2024/04/02
2160
面试官:SpringBoot 该如何预防 XSS 攻击 ?
SpringBoot-Web应用安全策略实现
近期项目上线,甲方要求通过安全检测才能进行验收,故针对扫描结果对系统进行了一系列的安全加固,本文对一些常见的安全问题及防护策略进行介绍,提供对应的解决方案
code2roc
2023/07/19
3590
公司web安全等级提升
公司的一个web数据展示系统,本来是内网的,而且是一个单独的主机,不存在远程控制的问题,所以之前并没有考虑一些安全相关的测试.但是国调安全检查的需要添加这样子的一层防护措施,所以还是不得不添加一下. 仔细想一下,如果内网机被人意外连接网线,确实是会存在被入侵的可能,所以还是添加一下为好.
@坤的
2018/09/21
1.9K0
【快学SpringBoot】过滤XSS脚本攻击(包括json格式)
XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
Happyjava
2019/07/16
4.3K0
【快学SpringBoot】过滤XSS脚本攻击(包括json格式)
一文了解XSS漏洞和常见payload
刷完了XSS challenge和XSS game 对XSS漏洞有了些许认识 在此做个小结与记录
中龙技术
2022/09/30
4.4K0
一文了解XSS漏洞和常见payload
JeecgBoot抵御XSS攻击实现方案
1. 问题描述 jeecgboot后台启动后,在浏览器输入地址 http://localhost:8080/jeecg-boot/jmreport/view/')%22οnmοuseοver=alert('hacking')%20%20( 弹出对话框 [在这里插入图片描述] 2. 试验环境 jeecgboot 3.0 3. 增加配置类 在jeecg-boot-module-system的config包下,新建xss包,并新增几个类 [在这里插入图片描述] 类的具体代码如下: package org.jeec
JEECG
2022/04/26
6500
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
Filter:Javaweb三大组件之一(另外两个是Servlet、Listener) 概念:Web中的过滤器,当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些通用的功能(登陆验证、统一编码处理、敏感字符过滤……)
没事就要多学习
2024/07/18
1930
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
Spring Boot 应用如何防护 XSS 攻击
来源:blog.csdn.net/qq_45076180/article/details/115000495 1. XSS跨站脚本攻击 ①:XSS漏洞介绍 跨站脚本攻击XSS是指攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被解析执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击! ②:XSS漏洞分类 存储型XSS: 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些
程序猿DD
2023/04/24
1K0
Spring Boot 应用如何防护 XSS 攻击
XSS跨站脚本攻击剖析与防御(跨站脚本攻击漏洞怎么修复)
跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!
全栈程序员站长
2022/08/02
7.3K0
XSS跨站脚本攻击剖析与防御(跨站脚本攻击漏洞怎么修复)
跨站脚本(XSS)备忘录-2019版
这是一份跨站脚本(XSS)备忘录,收集了大量的XSS攻击向量,包含了各种事件处理、通讯协议、特殊属性、限制字符、编码方式、沙箱逃逸等技巧,可以帮助渗透测试人员绕过WAF和过滤机制。
Bypass
2019/12/23
7.1K0
XSS漏洞总结
同源策略 影响源的因素:host,子域名,端口,协议 a.com通过以下代码:
张树臣
2018/12/18
3.5K0
干货笔记!一文讲透XSS(跨站脚本)漏洞
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途。
网络安全自修室
2022/03/30
4.6K0
干货笔记!一文讲透XSS(跨站脚本)漏洞
XSS基础学习
XSS攻击是指在网页中嵌入一段恶意的客户端Js脚本代码片段,JS脚本恶意代码可以获取用户的Cookie、URL跳转、内容篡改、会话劫持……等。
Mirror王宇阳
2020/11/12
9560
XSS防御
程序员朱永胜
2023/08/17
2850
相关推荐
JAVA项目实践,URL存在跨站漏洞,注入漏洞解决方案
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验