R 数据处理 ①

  • 数据采样:
setwd("E:\\Rwork")
set.seed(1234)
index <- sample(1:nrow(iris),10, replace = T)
index
sample_set <- iris[index,]

index <- sample(nrow(iris),0.75*nrow(iris))
sample_set <- iris[index,]
  • 数值离散化

data(iris)
buckets <- 10
maxseplen <- max(iris$Sepal.Length)
minseplen <- min(iris$Sepal.Length)
cutpoints <- seq(minseplen, maxseplen, by = (maxseplen - minseplen ) / buckets )

cutpoints

cutseplen <- cut(iris$Sepal.Length, breaks = cutpoints , include.lowest = TRUE)
newiris <- data.frame(contseplen = iris$Sepal.Length , discseplen = cutseplen)
newiris
  • 数据合并

最常用merge()函数,但是这个函数使用时候这两种情况需要注意:
1、merge(a,b),纯粹地把两个数据集合在一起,没有沟通a、b数据集的by,这样出现的数据很多,相当于a*b条数据;
2、merge函数是匹配到a,b数据集的并,都有的才匹配出来,如果a、b数据集ID不同,要用all=T(下面有all用法的代码)。

ID<-c(1,2,3,4)  
name<-c("Jim","Tony","Lisa","Tom")  
score<-c(89,22,78,78)  
student1<-data.frame(ID,name)  
student2<-data.frame(ID,score)  
total_student<-merge(student1,student2,by="ID")  #或者rbind()  
total_student  
ID<-c(1,2,3)  
name<-c("Jame","Kevin","Sunny")  
student1<-data.frame(ID,name)  
ID<-c(4,5,6)  
name<-c("Sun","Frame","Eric")  
student2<-data.frame(ID,name)  
total<-cbind(student1,student2)  
total 
    原文作者:左手柳叶刀右手小鼠标
    原文地址: https://www.jianshu.com/p/0edb3ca4d542
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞