No.9 基本数据操作2

主要内容:

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

1.数据集的合并

1.1 merge(横向合并)

1
2
3
4
5
?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.删除重复观测值

1
2
3
4
5
6
7
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

 

1
2
3
4
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

1
2
3
4
5
6
sort(x) #从小到大排序
sort(x,decreasing = T) #从大到小排序
 
order(x) #从小到大排序,返回的是向量的索引
 
rank(x)

  

4.转置

1
2
#转置
t(x)

  

5.分组

1
aggregate()

6.抽样

1
sample()
1
2
3
4
5
6
7
8
set.seed(11) #设置种子,让每次随机抽样的结果一样
sample(1:100,10)
 
#不放回抽样
sample(1:100,10)
 
#有放回抽样
sample(100,10,replace = T)

 例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#从一个数据框中抽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 @   百里屠苏top  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示