R统计学1 - 基础操作入门问题1-20

R统计学入门基础问题

1. 如何生成100个高斯(正态)分布随机数

x <- rnorm(100, mean = 5, sd = 0.1)
x
# [1] 4.893534 5.046611 5.081097 4.979164 5.181700 5.038192 5.135376 5.173346 4.968877 4.986146
# [11] 4.946258 5.198199 5.055531 4.943075 5.073673 4.831518 5.020880 4.930038 5.069399 4.966239
# [21] 5.035919 4.748342 4.950412 5.098074 5.200755 5.016067 4.980694 5.092845 4.969212 5.166748
# [31] 5.063731 5.188161 5.067183 4.832255 4.948366 4.945234 5.281972 5.004589 5.052194 4.970655
# [41] 4.821950 5.172387 5.075971 4.881912 5.077742 4.959202 4.978079 5.071156 5.122046 5.099949
# [51] 5.056486 5.073163 4.986136 4.879002 5.035217 5.115133 5.170419 4.979108 4.999929 5.104167
# [61] 4.995740 5.136457 5.088393 5.068214 4.979342 4.862489 4.984418 4.851406 5.101475 5.009014
# [71] 4.955209 5.113826 4.993114 4.969778 5.174806 5.118025 4.940426 5.016818 5.008397 5.007662
# [81] 5.037553 4.841561 4.927540 4.792235 4.943234 5.025745 4.877301 5.006027 5.105440 4.816338
# [91] 5.078376 5.099721 4.976009 4.844325 4.920226 5.052165 5.042234 4.876854 5.053872 5.029314
mean(x)
# 5.015125
sd(x)
# 0.1027691
summary(x)
# Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
# 4.748   4.954   5.016   5.015   5.079   5.282 

2. 如何清除内存所有变量

rm(list = ls(all = TRUE))

3. 如何更改小数显示数字位数

pi <- 3.1415926
# digits支持1-22个数字,默认为7
options(digits = 4) 
pi
# 3.142

4. 如何通过R调用系统内程序

使用system()或shell.exec()函数启动程序

system(paste("C:/Program Files/Internet Explorer/iexplore.exe" ,"cran.r-project.org") , wait = FALSE)
system("notepad")

5. 如果本地升级R,不重装R包

其他目录安装R新版本,将就版本R程序的library目录下的R包复制至新的R library目录下,执行以下代码

update.packages()

6. 如何获取当前工作目录和设置工作目录

# 获取当前working directory
getwd()

# 设置工作目录
setwd("目录路径")

7. 如何保存当前工作

# 工作目录生成.RData文件
save.image()

# 保存R对象
pi <- 3.1415926
save(pi , file = "pi.data")

8. 如何获取本地安装的R包列表

.packages(all.available = TRUE)
# [1] "abind"                          "ade4"                          
# [3] "afex"                           "affy"                          
# [5] "affyio"                         "airway"                        
# [7] "ALL"                            "Amelia" 
......

9. 如何查看函数的代码

summary

# 查看类函数方法
methods(summary)
# [1] summary,ANY-method                             summary,CompressedIRangesList-method          
# [3] summary,DBIObject-method                       summary,FilterResults-method                  
# [5] summary,FilterRules-method                     summary,Hits-method

# 查看类函数lm方法代码
summary.lm
# function (object, correlation = FALSE, symbolic.cor = FALSE, 
#           ...) 
# {
#   z <- object
#   p <- z$rank
#   rdf <- z$df.residual
#   if (p == 0) {
#     r <- z$residuals
#     n <- length(r)
#     w <- z$weights
#     if (is.null(w)) {
#       rss <- sum(r^2)
#     }
#     else {
#       rss <- sum(w * r^2)
#       r <- sqrt(w) * r
#     }
#     resvar <- rss/rdf
#     ans <- z[c("call", "terms", if (!is.null(z$weights)) "weights")]
#     class(ans) <- "summary.lm"
#     ans$aliased <- is.na(coef(object))
#     ans$residuals <- r
#     ans$df <- c(0L, n, length(ans$aliased))
#     ans$coefficients <- matrix(NA_real_, 0L, 4L, dimnames = list(NULL, 
#                                                                  c("Estimate", "Std. Error", "t value", "Pr(>|t|)")))
#     ans$sigma <- sqrt(resvar)
#     ans$r.squared <- ans$adj.r.squared <- 0
#     ans$cov.unscaled <- matrix(NA_real_, 0L, 0L)
#     if (correlation) 
#       ans$correlation <- ans$cov.unscaled
#     return(ans)
#   }
#   if (is.null(z$terms)) 
#     stop("invalid 'lm' object:  no 'terms' component")
#   if (!inherits(object, "lm")) 
#     warning("calling summary.lm(<fake-lm-object>) ...")
#   Qr <- qr.lm(object)
#   n <- NROW(Qr$qr)
#   if (is.na(z$df.residual) || n - p != z$df.residual) 
#     warning("residual degrees of freedom in object suggest this is not an \"lm\" fit")
#   r <- z$residuals
#   f <- z$fitted.values
#   w <- z$weights
#   if (is.null(w)) {
#     mss <- if (attr(z$terms, "intercept")) 
#       sum((f - mean(f))^2)
#     else sum(f^2)
#     rss <- sum(r^2)
#   }
#   else {
#     mss <- if (attr(z$terms, "intercept")) {
#       m <- sum(w * f/sum(w))
#       sum(w * (f - m)^2)
#     }
#     else sum(w * f^2)
#     rss <- sum(w * r^2)
#     r <- sqrt(w) * r
#   }
#   resvar <- rss/rdf
#   if (is.finite(resvar) && resvar < (mean(f)^2 + var(c(f))) * 
#       1e-30) 
#     warning("essentially perfect fit: summary may be unreliable")
#   p1 <- 1L:p
#   R <- chol2inv(Qr$qr[p1, p1, drop = FALSE])
#   se <- sqrt(diag(R) * resvar)
#   est <- z$coefficients[Qr$pivot[p1]]
#   tval <- est/se
#   ans <- z[c("call", "terms", if (!is.null(z$weights)) "weights")]
#   ans$residuals <- r
#   ans$coefficients <- cbind(Estimate = est, `Std. Error` = se, 
#                             `t value` = tval, `Pr(>|t|)` = 2 * pt(abs(tval), rdf, 
#                                                                   lower.tail = FALSE))
#   ans$aliased <- is.na(z$coefficients)
#   ans$sigma <- sqrt(resvar)
#   ans$df <- c(p, rdf, NCOL(Qr$qr))
#   if (p != attr(z$terms, "intercept")) {
#     df.int <- if (attr(z$terms, "intercept")) 
#       1L
#     else 0L
#     ans$r.squared <- mss/(mss + rss)
#     ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - 
#                                                        df.int)/rdf)
#     ans$fstatistic <- c(value = (mss/(p - df.int))/resvar, 
#                         numdf = p - df.int, dendf = rdf)
#   }
#   else ans$r.squared <- ans$adj.r.squared <- 0
#   ans$cov.unscaled <- R
#   dimnames(ans$cov.unscaled) <- dimnames(ans$coefficients)[c(1, 
#                                                              1)]
#   if (correlation) {
#     ans$correlation <- (R * resvar)/outer(se, se)
#     dimnames(ans$correlation) <- dimnames(ans$cov.unscaled)
#     ans$symbolic.cor <- symbolic.cor
#   }
#   if (!is.null(z$na.action)) 
#     ans$na.action <- z$na.action
#   class(ans) <- "summary.lm"
#   ans
# }

10. 如何在R中使用科学计数法

1e10 == 10000000000
# TRUE

1.2e-4 == 0.00012
# TRUE

10. 如何在R中读取其他统计软件输入数据

使用 foreign 包,它可以读取 Minitab, S, SAS, SPSS, Stata, Systat, dBase 保存的数据。

foreign::read.spss()
foreign::read.S()
foreign::read.systat()

11. R如何读取excel数据

使用 foreign 包,它可以读取 Minitab, S, SAS, SPSS, Stata, Systat, dBase 保存的数据。

# 方法一,将excel数据保存为.csv文件
data <- read.csv("data.csv")

# 方法二,使用xlsReadWrite R包
data <- read.xls("data.csv")

# 方法三,使用RODBC包
library(RODBC)
file <− odbcConnectExcel ("rexceltest.xls")
data <− sqlFetch(file , "Sheet1")
close(file )

12. R如何快速保存输出结果至文本文件

使用sink()函数

data("mtcars")
sink(file = "mtcars.txt")

13. R如何将因子(factor)转换为数字

# f为因子对象
as.numeric(as.character(f))
# 或
as.numeric(levels(f))[as.integer(f)]

14. R如何可视化输入数据

打开可视化界面

data <- data.frame()
edit(data) # 或fix(data

edit

15. R如何连接数据库读取数据

R支持基于SQL语言的关系数据库,RMySQL包提供MySQL数据库接口,RODBC包提供多种数据库接口(标准ODBC接口数据库)。经测试,Windows 平台上的 Microsoft SQL Server、Access、Oracle、MySQL、PostgreSQL,Linux 平台上的 MySQL、Oracle、PostgreSQL、SQLite 都有实际应用案例。

library(RODBC)
# 连接数据库
db <- odbcConnect("database_name", uid = "username", pwd = "password")
# 查询
stocks <- sqlQuery(db, "select * from quotes")
# 断开数据库连接
odbcClose(db)

16. R如何在一个变量中追加元素

x <- 1:10
x
# 1  2  3  4  5  6  7  8  9 10

# 元素1后面追加元素0
append(x, 0, after = 1)
# 1  0  2  3  4  5  6  7  8  9 10

# 元素5后面追加元素100
append(x, 100, after = 5)
# 1   2   3   4   5 100   6   7   8   9  10

17. R如何删除某行或某列数据

逗号在前删除行,逗号在后删除列,前面添加负号-

# 创建4x5矩阵
x <- data.frame(matrix(1:20, nrow = 4, byrow = 5))
x
#  X1 X2 X3 X4 X5
#1  1  2  3  4  5
#2  6  7  8  9 10
#3 11 12 13 14 15
#4 16 17 18 19 20

# 删除第1和第3行数据
x1 <- x[-c(1,3) ,]
x1
#  X2 X4 X5
#1  2  4  5
#2  7  9 10
#3 12 14 15
#4 17 19 20

# 删除第1和第3列数据
x2 <- x[, -c(1,3)]
x2
#  X2 X4 X5
#1  2  4  5
#2  7  9 10
#3 12 14 15
# 17 19 20

18. R如何判断dataframe是否相同

# 创建dataframe
d1 <- data.frame(num = 1:8, lib = letters[1:8])
d1
# num lib
# 1   1   a
# 2   2   b
# 3   3   c
# 4   4   d
# 5   5   e
# 6   6   f
# 7   7   g
# 8   8   h

d2 <- d1
# 将d2第3行第1列数值和第8行第2列数值赋值为2
d2[[3,1]] <- 2 -> d2[[8, 2]]
d2
# num lib
# 1   1   a
# 2   2   b
# 3   2   c
# 4   4   d
# 5   5   e
# 6   6   f
# 7   7   g
# 8   8   2

any(d1==d2)
# TRUE, 至少1个值相同返回为TRUE

all(d1==d2)
# FALSE, 全部值相同返回为TRUE

# 获取2个dataframe不相同元素位置
which(d1 != d2, arr.ind = TRUE)
# row col
# [1,]   3   1
# [2,]   8   2

19. R如何去除重复元素

使用unique()或duplicated()函数

a1 <- c(1:20, 1:5, 3:6)
a1
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20  1  2  3  4  5  3  4  5  6
unique(a1) 或 x <- x[!duplicated(x)]
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

20. R如何删除list中元素

lst <- list("l1" = list("a"=1, "b"=2), "l2" = list("a"=1, "b"=2))
lst
# $l1
# $l1$a
# [1] 1
# 
# $l1$b
# [1] 2
# 
# 
# $l2
# $l2$a
# [1] 1
# 
# $l2$b
# [1] 2

# 删除l1中b元素
lst[["l1"]]["b"] <- NULL
# lst
# $l1
# $l1$a
# [1] 1
# 
# 
# $l2
# $l2$a
# [1] 1
# 
# $l2$b
# [1] 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280778.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git:远程仓库的使用

查看当前的远程库 要查看当前配置有哪些远程仓库&#xff0c;可以用git remote 命令&#xff0c;它会列出每个远程库的简短名字。在克隆完某个项目后&#xff0c;至少可以看到一个名为origin 的远程库&#xff0c;Git 默认使用这个名字来标识你所克隆的原始仓库&#xff1a; 也…

RHCE9学习指南 第13章 硬盘管理

新的硬盘首先需要对硬盘进行分区和格式化&#xff0c;首先了解一下硬盘的结构&#xff0c;如图13-1所示。 图13-1 磁盘上的磁道和扇区 硬盘的磁盘上有一个个的圈&#xff0c;每两个圈组成一个磁道。从中间往外发射线&#xff0c;把每个磁道分成一个个的扇区&#xff0c;每个扇…

QT上位机开发(第一个应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是软件&#xff0c;还是硬件&#xff0c;如果我们能够顺利启动第一个应用&#xff0c;点亮第一个电路的话&#xff0c;这对我们的信心来说会有…

【MySQL】主从异步复制配置

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

Spring Boot快速搭建一个简易商城项目【完成登录功能且优化】

完成登录且优化&#xff1a; 未优化做简单的判断&#xff1a; 全部异常抓捕 优化&#xff1a;返回的是json的格式 BusinessException&#xff1a;所有的错误放到这个容器中&#xff0c;全局异常从这个类中调用 BusinessException&#xff1a; package com.lya.lyaspshop.exce…

unity学习笔记----游戏练习03

一、修复植物种植的问题 1.当手上存在植物时&#xff0c;再次点击卡片上的植物就会在手上添加新的植物&#xff0c;需要修改成只有手上没有植物时才能再次获取到植物。需要修改AddPlant方法。 public bool AddPlant(PlantType plantType) { //防止手上出现多个植…

《深入理解C++11:C++11新特性解析与应用》笔记五

第五章 提高类型安全 5.1 强类型枚举 5.1.1 枚举&#xff1a;分门别类与数值的名字 具名枚举类型一般声明类似&#xff1a;enum Gender { Male, Female }。 匿名枚举类型可以使用三种方式实现&#xff1a; 第一种方式时宏&#xff0c;比如 #define Male 0 #define Femal…

安全生产知识竞赛活动方案

为进一步普及安全生产法律法规知识&#xff0c;增强安全意识&#xff0c;提高安全技能&#xff0c;经研究&#xff0c;决定举办以“加强安全法治、保障安全生产”为主题的新修订《安全生产法》知识竞赛活动&#xff0c;现将有关事项通知如下&#xff1a; 一、活动时间&#xf…

机器学习(二) -- 数据预处理(3)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 未完待续…… 目录 前言 tips&#xff1a;这里只是总结&#xff0c;不是教程哈。本章开始会用到numpy&#xff0c;pandas以及matpl…

【Kubernetes】什么是 kubectl ?

什么是 kubectl &#xff1f; 1.什么是 kubectl &#xff1f;2.Kubernetes 内部结构3.Kubernetes API 的作用 1.什么是 kubectl &#xff1f; 在学习如何更有效地使用 kubectl 之前&#xff0c;您应该对它是什么以及它如何工作有一个基本的了解。从用户的角度来看&#xff0c;…

助力打造智慧数字课堂,基于YOLOv8全系列【n/s/m/l/x】不同参数量级模型开发构建教学课堂场景下学生课堂行为检测识别分析系统

近年来&#xff0c;随着行为检测技术的发展&#xff0c;分析学生在课堂视频中的行为&#xff0c;以获取他们的课堂状态和学习表现信息已经成为可能。这项技术对学校的教师、管理人员、学生和家长都非常重要。使用深度学习方法自动检测学生的课堂行为是分析学生课堂表现和提高教…

计算机视觉技术-目标检测数据集

目标检测领域没有像MNIST和Fashion-MNIST那样的小数据集。 为了快速测试目标检测模型&#xff0c;我们收集并标记了一个小型数据集。 首先&#xff0c;我们拍摄了一组香蕉的照片&#xff0c;并生成了1000张不同角度和大小的香蕉图像。 然后&#xff0c;我们在一些背景图片的随机…

分享好用稳定快递查询api接口(对接简单)

提供实时查询和自动识别单号信息。稳定高效&#xff0c;调用简单方便&#xff0c;性价比高&#xff0c;一条链接即可对接成功。 使用数据平台该API接口需要先注册后申请此API接口。申请成功后赠送免费次数&#xff0c;可直接在线请求接口数据。 接口地址&#xff1a;https://…

ArkUI中自定义组件的生命周期

文章概叙 本文主要是介绍下在作为page以及component的时候的生命周期&#xff0c;以及调用API等应该在哪个生命周期使用。 书接上回 之前的博客已经结束了对底部栏的操作&#xff0c;现在开始需要关注到具体内容的对接了。 而开发的第一步&#xff0c;我们对页面的生命周期…

你了解螺杆螺纹吗?

螺杆的螺纹部分是其核心部分之一&#xff0c;主要作用是传递旋转运动和力矩&#xff0c;丝杆的螺纹形状和参数对其性能和使用寿命有着重要影响&#xff1b;常用的螺杆螺纹可以分为&#xff1a;三角牙螺纹、梯形牙螺纹、矩形牙螺纹、锯齿牙螺纹、滚珠螺纹。 1、三角牙&#xff1…

Tomcat与Servlet是什么关系

Tomcat与Servlet是什么关系 Apache Tomcat和Servlet之间存在密切的关系&#xff0c;可以说它们是一对密切合作的组件。下面是它们的关系&#xff1a; Tomcat是Servlet容器&#xff1a; Tomcat是一个开源的、轻量级的Servlet容器。Servlet容器是一个Web服务器扩展&#xff0c;用…

【YOLOV8实例分割——详细记录环境配置、自定义数据处理到模型训练与部署】

前言 Ultralytics YOLOv8是一种前沿的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它在前代YOLO版本的成功基础上进行了进一步的创新&#xff0c;引入了全新的特性和改进&#xff0c;以进一步提升性能和灵活性。作为一个高速、精准且易于操作的设计&#xff0c;YOL…

LOAM: Lidar Odometry and Mapping in Real-time 论文阅读

论文链接 LOAM: Lidar Odometry and Mapping in Real-time 0. Abstract 提出了一种使用二维激光雷达在6自由度运动中的距离测量进行即时测距和建图的方法 距离测量是在不同的时间接收到的&#xff0c;并且运动估计中的误差可能导致生成的点云的错误配准 本文的方法在不需要高…

软件工程期末复习习题

知识点总结 第一章&#xff1a;软件工程概述 1、软件的定义&#xff1a;在运行中能提供所希望的功能与性能的程序使程序能够正确运行的数据及其结构描述软件研制过程和方法所用的文档。 2、软件危机&#xff1a;软件开发的生产率远远不能满足客观需要。开发的软件产品往往不能…

MyBatis-config.xml配置文件

1、基本介绍&#xff1a; mybatis的核心配置文件(mybatis-config.xml)&#xff0c;比如配置jdbc连接信息&#xff0c;注册mapper等等&#xff0c;我们需要对这个配置文件有详细的了解。 官网地址有详细介绍 mybatis – MyBatis 3 | 配置 2、properties属性 在通常的情况下&am…