R语言入门第二集 实验一:R 语言数据结构、数据导入与数据处理

本文详细介绍了R语言中的数据结构操作,包括向量、数组、矩阵的创建与转换,以及数据的导入、处理和分析。通过实例展示了如何获取数据的长度、最大值、索引,进行数据筛选、缺失值处理以及数据合并。此外,还涵盖了数据的读取、查看、统计概括和数据类型的检查等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

R语言入门第二集 实验一:R 语言数据结构、数据导入与数据处理



一、资源

R语言基本数据结构练习和数据的导入和处理对象常用函数练习——东北大学大数据班R语言实训第一次作业"

R(4)求解数据行的平均值,显示某一行或者某一列

R语言查看对象类型和长度

R语言怎么获取行数

RStudio两个快捷方式,快速注释 & 批量首末加符号等 (R)



二、答案更新纠正

  1. 2.8 向量C的最大值及最大值对应的索引

    答案:

    C[which.max(C)]
    CMaxIndex<-which.max(C)
    CMaxIndex
    
    

    应该为:

    2.8 向量C的长度,最大值及其索引

    length(C)
    C[which.max(C)]
    CMaxIndex<-which.max(C)
    CMaxIndex
    
    
  2. 3.3 输出algae1的概要信息,数据的维度,字段名称,查看season、size和NO3各列的数据类型

    答案:

    summary(algae1)
    dim(algae1)
    colnames(algae1)    
    str(algae1$season)
    str(algae1$size)
    str(algae1$NO3)
    
    

    应该为:

    summary(algae1)
    dim(algae1)
    colnames(algae1)  
    class(algae1$season)
    class(algae1$size)
    class(algae1$NO3)
    
  3. 3.4 选出季节为夏天的样本保存到newalgael中,输出newalgael样本行数

    答案:

    newalgae1<-algae1[algae1$season=="summer",]
    newalgae1
    
    

    应该为:

    newalgae1<-algae1[algae1$season=="summer",]
    nrow(newalgae1)
    


三、答案

实验一 R语言数据结构、数据导入与数据处理

1.安装R环境,熟悉环境,熟悉R NOTEBOOK的用法

2.基本数据结构练习
2.1 创建数值从1到10,间隔为2,名称为A的向量

A<-seq(1,10,2)
A

2.2 将数字1到12每个重复3次写入向量B中:(1,1,1,…,12,12,12) 提示rep函数

B<-rep(1:12,each=3)
B

2.3 输出B向量的长度和去重后的向量数值

length(B)
unique(B)

2.4 输出A和B的交集,并集C ,差集

intersect(A,B)
C<-union(A,B)
C
setdiff(B,A)

2.5 将集合C按降序排序

sort(C,decreasing = T)

2.6 选取C的第3个元素;第4到最后的元素;数值大于等于3小于7的元素

C[3]
C[4:12]
subset(C,C>=3&C<7)

2.7 将数值型向量C转化为字符型

class(C)
D <- as.character(C)
class(D)

2.8 向量C的长度,最大值及其索引

length(C)
C[which.max(C)]
CMaxIndex<-which.max(C)
CMaxIndex

2.9 将A转化成数组类型,变量名为a,查看a的类型

class(A)
a<-array(A)
class(a)

2.10 用1~20的数字构成两个4*5的矩阵,其中M1为按列输入,M2为按行输入,计算M3为M1+M2;并构建M4,它由M3各列构成,但不包含第3列。

M1<-matrix(1:20,c(4,5))
M1
M2<-matrix(1:20,c(4,5),byrow = TRUE)
M2
M3<-M1+M2
M3
M4<-M3[,-3]
M4

2.11 用1~9的数字构成一个3*3的按列输入的矩阵M5;求M5的对角阵M6;计算M5与M6的矩阵乘法得到M7;求M7的转置矩阵M8

M5<-matrix(1:9,c(3,3))
M5
M6<-diag(diag(M5))
M6
M7<-M5%*%M6
M7
M8<-t(M7)
M8

2.12 用1~12的数字构成一个4*3的按列输入的矩阵M9,求M9的列加和;求M9的行平均

M9 <- matrix(1:12, c(4, 3))
M9
colSums(M9)
rowMeans(M9)

3.数据的导入和处理对象常用函数练习
3.1 从csv文件中读取algae数据集赋值给algae1

algae1<-read.csv("algae.csv")

3.2 查看algae1的前10条数据

head(algae1, n = 10)

3.3 输出algae1的概要信息,数据的维度,字段名称,查看season、size和NO3各列的数据类型

summary(algae1)
dim(algae1)
colnames(algae1)  
class(algae1$season)
class(algae1$size)
class(algae1$NO3)

3.4 选出季节为夏天的样本保存到newalgael中,输出newalgael样本行数

newalgae1<-algae1[algae1$season=="summer",]
nrow(newalgae1)

3.5 将newalgael的列cl中的缺失值用本列的中位数填充

newalgae1$Cl
newalgae1$Cl[is.na(newalgae1$Cl)]<- median(newalgae1$Cl,na.rm = TRUE) 
newalgae1$Cl

3.6 将algae1删除含有缺失值的样本,输出原始样本的行数和剩余样本行数

nrow(algae1)
algae1<-na.omit(algae1)
nrow(algae1)

3.7 编辑algae1并另存为algae2(任意修改某个点的值)

algae2<-edit(algae1)

3.8 将algae1和algae2,按行合并得到algae3,输出algae1、algae2 和algae3的样本行数

algae3<-rbind(algae1,algae2)
nrow(algae1)
nrow(algae2)
nrow(algae3)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值