在R中的DataFrame中选择每个组的第一行
在本文中,我们将讨论如何使用 R 编程语言在 Dataframe 中选择每个组的第一行。
duplicated() 方法用于确定数据帧的哪些元素是其他元素的副本。该方法返回一个逻辑向量,它告诉数据帧的哪些行是重复的。
句法:
duplicated(data-frame$col-name)
非重复行使用补充的duplicated() 方法获取,并使用数据帧索引方法引用,其中所有列都被获取,行是使用duplicated() 方法过滤掉的行。原始数据帧的行号保留在最终输出中。
示例:从每组中选择第一行
R
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
rep('Grp2',2),
rep('Grp3',2)),
col2=rep(c(1:3),2),
col3=rep(1:2,3)
)
print("Original DataFrame")
print(data_frame1)
print("Modified DataFrame")
# computing sum over rest of columns
data_frame1[!duplicated(data_frame1$col1), ]
R
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
rep('Grp2',2),
rep('Grp3',2)),
col2=rep(1,2),
col3=rep(1,3)
)
print("Original DataFrame")
print(data_frame1)
# grouping by col3
print("Modified DataFrame")
# computing groups over col3 and col2
data_frame1[!duplicated(c(data_frame1$col3,data_frame1$col2)), ]
输出:
[1] "Original DataFrame"
col1 col2 col3
1 Grp1 1 1
2 Grp1 2 2
3 Grp2 3 1
4 Grp2 1 2
5 Grp3 2 1
6 Grp3 3 2
[1] "Modified DataFrame"
col1 col2 col3
1 Grp1 1 1
3 Grp2 3 1
5 Grp3 2 1
以下代码片段说明了重复函数的用法,应用于多列。可以使用 c() 方法将列组合在一起。
示例:选择每组的第一行
电阻
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
rep('Grp2',2),
rep('Grp3',2)),
col2=rep(1,2),
col3=rep(1,3)
)
print("Original DataFrame")
print(data_frame1)
# grouping by col3
print("Modified DataFrame")
# computing groups over col3 and col2
data_frame1[!duplicated(c(data_frame1$col3,data_frame1$col2)), ]
输出:
[1] "Original DataFrame"
col1 col2 col3
1 Grp1 1 1
2 Grp1 1 1
3 Grp2 1 1
4 Grp2 1 1
5 Grp3 1 1
6 Grp3 1 1
[1] "Modified DataFrame"
col1 col2 col3
1 Grp1 1 1