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

浙公网安备 33010602011771号