R语言实战(第一章+第二章:创建数据集)
第一章:R语言介绍
1. 使用函数getwd()来查看当前的工作目录,或使用函数setwd()设定当前的工作目录。
getwd()
setwd(“C:/x/y”)
2.包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。计算机上存储包的目录
称为库(library)。函数.libPaths()能够显示库所在的位置, 函数library()则可以显示库中
有哪些包。
包的安装install.packages()
包的载入 library()
第二章:创建数据集
1.向量是用于存储数值型、字符型或逻辑型数据的一维数组。
2.矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix创建矩阵。一般使用格式为:
mymatrix<-matrix(vector,nrow=5,ncol=6,byrow=TRUE)
mymatrix<-matrix(c(1:30),nrow=5,ncol=6,byrow=TRUE)
其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数 选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按
列填充(byrow=FALSE)
我们可以使用下标和方括号来选择矩阵中的行、列或元素。X[i,]指矩阵X中的第i 行,X[,j]
指第j 列,X[i, j]指第i 行第j 个元素。选择多行或多列时,下标i 和j 可为数值型向量
3.数组(array)与矩阵类似,但是维度可以大于2。
myarray<-array(vector,dimensions,dimnames)
myarray<-array(c(1:24),c(2,3,4),dimnames=list(dim1,dim2,dim3))
vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。
dim1<-c("row1","row2")
dim2<-c("col1","col2","col3","col4")
dim3<-c("w1","w2","w3")x<-array(1:24,c(2,4,3),dimnames=list(dim1,dim2,dim3))
x

4.数据框
每一列数据的模式必须唯一,可以将多个模式的不同列放到一起组成数据框。
patientID<-c(1,2,3,4)
age<-c(25,34,28,34)
diabetes<-c("Poor","Improved","Excellent","Wonderful")
patientdata<-data.frame(patientID,age,diabetes)
记号$被用来选取一个给定数据框中的某个特定变量。如:列联表table(patientdata$diabetes,patientdata$age)
attach()、detach()和with()函数attach()可将数据框添加到R的搜索路径中,函数detach()将数据框从搜索路径中移除。
attach(mtcars)
plot(mpg,wt)
detach(mtcars)
5.因子
类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1... k ](其中k 是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。
6.列表
列表就是一些对象(或成分,component)的有序集合。
列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。
可以使用函数list()创建列表:其中的对象可以是目前为止讲到的任何结构。
mylist<-list(object1,object2)
还可以为列表中的对象命名
mylist<-list(name1=object1,name2=object2)
7.数据的输入
①使用键盘输入数据
mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
mydata<-edit(mydata)
②分隔符的文本文件导入数据
getwd()
setwd()
x<-read.table("mtcars.csv",header=TRUE,sep="\t")
③导入Excel数据读取一个Excel文件的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv),并使用前文描述的方式将其导入R中
install.packages("RODBC")library(RODBC)
read.xlsx()

8.实用的数据对象处理函数
length(object)
显示对象中元素/成分的数量
dim(object)
显示某个对象的维度
str(object)
显示某个对象的结构
class(object)
显示某个对象的类或类型
mode(object)
显示某个对象的模式
names(object)
显示某对象中各成分的名称
c(object, object,…)
将对象合并入一个向量
cbind(object, object, …)
按列合并对象
rbind(object, object, …)
按行合并对象
Object
输出某个对象
head(object)
列出某个对象的开始部分
tail(object)
列出某个对象的最后部分
ls()
显示当前的对象列表
rm(object, object, …)
删除一个或更多个对象。语句rm(list = ls())
将删除当前工作环境中的几乎所有对象*
newobject <- edit(object)
编辑对象并另存为newobject
fix(object)
直接编辑对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具