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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了