我想要创建一个dataframe,它通过样本标识信息(包括Sample_Type和浓度)为每个标记创建一个在高度列中设置最大值的行。我在下面贴了一个样本数据。本例中的最终df应该包含2-4行。
structure(list(Marker = c("A", "A", "B", "B", "B", "B", "C",
"A", "A", "A"), Height = c(40L, 61L, 38L, 33L, 49L, 114L, 152L,
108L, 108L, 50L), Sample_Type = c("NTC", "NTC", "NTC", "NTC",
"NTC", "NTC", "NTC", "CEPH", "CEPH", "CEPH"), Concentration = c(100L,
100L, 100L, 100L, 100L, 100L, 100L, 100L, 50L, 50L), PCR_Protocol =
c("Current_PCR",
"Current_PCR", "Current_PCR", "Current_PCR", "Current_PCR", "Current_PCR",
"Current_PCR", "Current_PCR", "Current_PCR", "Current_PCR")), class =
"data.frame", row.names = c(NA,
-10L))谢谢!
发布于 2018-12-18 21:39:44
使用dplyr,对max进行筛选:
library(dplyr)
df1 %>%
group_by(Marker) %>%
filter(max(Height) == Height)
# # A tibble: 3 x 6
# # Groups: Marker [3]
# Marker Size Height Sample_Type Concentration PCR_Protocol
# <chr> <dbl> <int> <chr> <int> <chr>
# 1 A 79.2 61 NTC 100 Current_PCR
# 2 B 84.2 38 NTC 100 Current_PCR
# 3 C 99.7 33 NTC 100 Current_PCR https://stackoverflow.com/questions/53841416
复制相似问题