在特定时间步处理独特的测量
Dealing with unique measurement at specific time-steps
我想确定唯一测量次数。基于 t1 处的以下示例,有一个唯一的测量值(例如 1)。 Two 不是唯一的测量值,因为它在不同的位置出现两次。在 t2 处有 0 个独特的测量值,在 t3 处再次有三个独特的测量值,在 t4、t5、t6 和 t7 处,有零。因此,唯一测量值的总和为 4。
数据格式:
期望的输出
示例数据
df<-structure(list(t1 = c(1, 2, 2), t2 = c(1, 1, 1), t3 = c(1, 3,
4), t4 = c(2, 2, 2), t5 = c(3, 3, 3), t6 = c(3, 3, 3), t7 = c(1,
1, 1)), row.names = c(NA, -3L), spec = structure(list(cols = list(
t1 = structure(list(), class = c("collector_double", "collector"
)), t2 = structure(list(), class = c("collector_double",
"collector")), t3 = structure(list(), class = c("collector_double",
"collector")), t4 = structure(list(), class = c("collector_double",
"collector")), t5 = structure(list(), class = c("collector_double",
"collector")), t6 = structure(list(), class = c("collector_double",
"collector")), t7 = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ","), class = "col_spec"), class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))
试试这个...
library(tidyverse)
df <- structure(
list(
t1 = c(1, 2, 2),
t2 = c(1, 1, 1),
t3 = c(1, 3, 4),
t4 = c(2, 2, 2),
t5 = c(3, 3, 3),
t6 = c(3, 3, 3),
t7 = c(1, 1, 1)
),
row.names = c(NA,-3L),
spec = structure(
list(
cols = list(
t1 = structure(list(), class = c("collector_double", "collector")),
t2 = structure(list(), class = c("collector_double", "collector")),
t3 = structure(list(), class = c("collector_double", "collector")),
t4 = structure(list(), class = c("collector_double", "collector")),
t5 = structure(list(), class = c("collector_double", "collector")),
t6 = structure(list(), class = c("collector_double", "collector")),
t7 = structure(list(), class = c("collector_double", "collector"))
),
default = structure(list(), class = c("collector_guess", "collector")),
delim = ","), class = "col_spec"),
class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame")
)
df |>
pivot_longer(everything()) |>
arrange(name, value) |>
count(name, value) |>
filter(n == 1) |>
group_by(name) |>
summarise(meas_num = str_c(value, collapse = ", "), count = sum(n))
#> # A tibble: 2 × 3
#> name meas_num count
#> <chr> <chr> <int>
#> 1 t1 1 1
#> 2 t3 1, 3, 4 3
由 reprex package (v2.0.1)
于 2022-04-26 创建
我想确定唯一测量次数。基于 t1 处的以下示例,有一个唯一的测量值(例如 1)。 Two 不是唯一的测量值,因为它在不同的位置出现两次。在 t2 处有 0 个独特的测量值,在 t3 处再次有三个独特的测量值,在 t4、t5、t6 和 t7 处,有零。因此,唯一测量值的总和为 4。
数据格式:
期望的输出
示例数据
df<-structure(list(t1 = c(1, 2, 2), t2 = c(1, 1, 1), t3 = c(1, 3,
4), t4 = c(2, 2, 2), t5 = c(3, 3, 3), t6 = c(3, 3, 3), t7 = c(1,
1, 1)), row.names = c(NA, -3L), spec = structure(list(cols = list(
t1 = structure(list(), class = c("collector_double", "collector"
)), t2 = structure(list(), class = c("collector_double",
"collector")), t3 = structure(list(), class = c("collector_double",
"collector")), t4 = structure(list(), class = c("collector_double",
"collector")), t5 = structure(list(), class = c("collector_double",
"collector")), t6 = structure(list(), class = c("collector_double",
"collector")), t7 = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ","), class = "col_spec"), class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))
试试这个...
library(tidyverse)
df <- structure(
list(
t1 = c(1, 2, 2),
t2 = c(1, 1, 1),
t3 = c(1, 3, 4),
t4 = c(2, 2, 2),
t5 = c(3, 3, 3),
t6 = c(3, 3, 3),
t7 = c(1, 1, 1)
),
row.names = c(NA,-3L),
spec = structure(
list(
cols = list(
t1 = structure(list(), class = c("collector_double", "collector")),
t2 = structure(list(), class = c("collector_double", "collector")),
t3 = structure(list(), class = c("collector_double", "collector")),
t4 = structure(list(), class = c("collector_double", "collector")),
t5 = structure(list(), class = c("collector_double", "collector")),
t6 = structure(list(), class = c("collector_double", "collector")),
t7 = structure(list(), class = c("collector_double", "collector"))
),
default = structure(list(), class = c("collector_guess", "collector")),
delim = ","), class = "col_spec"),
class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame")
)
df |>
pivot_longer(everything()) |>
arrange(name, value) |>
count(name, value) |>
filter(n == 1) |>
group_by(name) |>
summarise(meas_num = str_c(value, collapse = ", "), count = sum(n))
#> # A tibble: 2 × 3
#> name meas_num count
#> <chr> <chr> <int>
#> 1 t1 1 1
#> 2 t3 1, 3, 4 3
由 reprex package (v2.0.1)
于 2022-04-26 创建