美文网首页
R语言数据转换(二)2021.2.25

R语言数据转换(二)2021.2.25

作者: R语言_茶味先生 | 来源:发表于2021-02-26 14:22 被阅读0次

1、从大的数据文件中截取出自己想要的子集

1.1 取连续数据

who<-read.csv("WHO.csv") #读取数据文件
who1<-who[c(1:10),c(1:10)]#读取数据的前十行前十列

1.2 取间断数据

who<-read.csv("WHO.csv") #读取数据文件
who2<-who[c(1,3,5,7,9),c(2,4,6,7,8)]#读取数据的前1,3,5,7,9行前2,4,6,7,8列

1.3 取符合条件的数据

例子1

who<-read.csv("WHO.csv") #读取数据文件
who3<-who[which(who$Continent==7)]#读取列名Continent等于7的数据

例子2

who4<-who[which(who$CountryID>50 &who$CountryID<=100),]#读取列名CountryID大于50但小于100的数据

除此之外,这个例子也可以使用subset函数

who4<-subset(who,who$CountryID>50 &who$CountryID<=100)#读取列名CountryID大于50但小于100的数据

1.4 对数据进行随机抽样

sample函数很重要,对于机器学习之类的都需要将数据集划分为训练集和验证集,这在R中就可以通过sample函数实现。
sample函数:对数据进行随机抽样,默认是无放回抽样,replace为真时是有放回抽样

1.4.1 sample函数抽取向量

x<-c(1:100)
sample(x,30)#从x中抽取三十个数据

1.4.2 sample函数抽取数据框

who5<-who[sample(who$CountryID,30,replace=F),]
View(who5)

1.5 删除固定某行或某列数据

1.5.1 负索引方式

这种方法不破坏原数据,说是删除,其实更贴切的表述应该是取出去除这些行或者列的数据
例子1

mtcars[c(-1:-5),]#取出不包含数据前五行的数据

例子2

mtcars[,c(-1:-5)]#取出不包含数据前五列的数据

1.5.2 将行值或者列值赋空值

将对应行或列赋值为NULL,这样相当于变相的清空数据

mtcars$mpg<-NULL#将某列赋值为NULL

1.6 数据框添加固定某行或某列数据

1.6.1 data.frame函数合并数据

将原始数据和要添加的某列用data.frame函数重新生成新的数据框

data.frame(USArrests,state.division)#将state.division列添加到原始数据集并且合并成新的数据框

1.6.2 cbind和rbind函数添加某列或者某行(row横的,column竖的)

cbind和rbind函数不仅适用于数据框也适用于矩阵

  • 添加列
cbind(USArrests,state.division)#在原始数据集上添加state.division列
  • 添加行
    添加行时需要,数据的列名要一致且列的个数相同,否则会报错。
data1<-head(USArrests,20)
data2<-tail(USArrests,20)
rbind(data1,data2)#在原始数据集上添加state.division列
##
data3<-head(cbind(USArrests,state.division),20)
rbind(data1,data3)#列数不同合并时则会报错
图1 报错截图

1.7 删除重复数据

在数据完成合并后,会出现一些重复的行,重复的数据有时会影响分析结果,这时候我们有两种方法将重复的行去除

  • unique函数
unique(data4)#取出data4中非重复部分
  • duplicated函数
    duplicated函数用于判断数据中是否包含重复值,是重复部分则结果为TRUE,否则则为FALSE
    而逻辑符号!表示非的意思,!duplicated()则正好相反,表示不重复部分则结果为TRUE,否则则为FALSE。
data4[!duplicated(data4),]#取出data4中非重复部分

2、数据生成表格

若想要对数据生成表格,则用两种方式

  • 环境变量单击变量右侧表格


    图1 点击图标生成表格
  • View(变量名)
View(who1)

相关文章

网友评论

      本文标题:R语言数据转换(二)2021.2.25

      本文链接:https://www.haomeiwen.com/subject/jffpfltx.html