No.9 基本数据操作2

主要内容:

  • 数据集的合并
  • 删除重复观测值
  • 数据排序
  • 整合数据

1.数据集的合并

1.1 merge(横向合并)

?merge
merge(a,b)
merge(a,b,by = "公共的列名")
merge(a,b,by.x = "列名",by.y = "列名1")
merge(a,b,by.x = "列名",by.y = "列名1",all.y = TRUE)

1.2 cbind(横向合并)

 

1.3 rbind(纵向合并)要求两个数据量列名一样

2.删除重复观测值

x <- c("a", "b", "c", "a", "b", "d")
duplicated(x)
duplicated(x,fromLast = TRUE)#从后往前

结果:
> x <- c("a", "b", "c", "a", "b", "d")
> duplicated(x)
[1] FALSE FALSE FALSE  TRUE  TRUE FALSE
> duplicated(x,fromLast = TRUE)#从后往前
[1]  TRUE  TRUE FALSE FALSE FALSE FALSE

 

x <- c("a", "b", "c", "a", "b", "d")
duplicated(x)
x[!duplicated(x)] 
运行结果:
> x[!duplicated(x)]
[1] "a" "b" "c" "d"

 

3.数据排序

3.1 sort 

3.2 order

3.3 rank

sort(x) #从小到大排序
sort(x,decreasing = T) #从大到小排序

order(x) #从小到大排序,返回的是向量的索引

rank(x)

  

4.转置

#转置
t(x)

  

5.分组

aggregate()

6.抽样

sample()
set.seed(11) #设置种子,让每次随机抽样的结果一样
sample(1:100,10)

#不放回抽样
sample(1:100,10)

#有放回抽样
sample(100,10,replace = T)

 例子:

#从一个数据框中抽n行
data1
nrow1 <- sample(nrow(data1),3)
newdata_4 <- data1[nrow1,]
newdata_4

结果:
> #从一个数据框中抽n行
> data1
  C1  fruit C3 income25  C5 sum2 class24
1  1   苹果 67       56 123  123    high
2  3   香蕉 45       89 134  134  middle
3  4 圣女果 57       72 129  129    high
4  5 百香果 26       89 115  115     low
5  6 火龙果 34       87 121  121  middle
6  7     梨 43       64 107  107  middle
> nrow1 <- sample(nrow(data1),3)
> newdata_4 <- data1[nrow1,]
> newdata_4
  C1  fruit C3 income25  C5 sum2 class24
4  5 百香果 26       89 115  115     low
5  6 火龙果 34       87 121  121  middle
1  1   苹果 67       56 123  123    high

  

  

 

posted @ 2025-01-21 10:57  百里屠苏top  阅读(11)  评论(0)    收藏  举报