使用不同数据帧中唯一值的计数创建数据帧

问题描述 投票:0回答:1

我有一个数据框,其中包含多个具有 0 到 1 之间不同值的列。 例如

> DF
  column1 column2 column3 column4
1       0       0     0.5       1
2     0.5     0.5     0.5       1
3       1       1     0.3     0.3
4       1       1       1       1
5       0       0     0.3     0.3
6       0    0.75       0     0.3
7       0       0       0       0
8     0.4     0.4     0.4     0.4

对于每一行,我想计算唯一值出现的次数,并以如下数据框结尾:

> DF_count
  column_unique column1 column2 column3 column4
1             0       4       3       2       1
2           0.3       0       0       2       3
3           0.4       1       1       1       1
4           0.5       1       1       2       0
5          0.75       0       1       0       0
6             1       2       2       0       3

感谢所有帮助。谢谢:-)

我尝试过汇总功能,但无法使其工作

r dataframe count tidyverse unique
1个回答
0
投票
library(tidyverse)
DF %>%
  pivot_longer(everything()) %>%
  count(value, name) %>%
  pivot_wider(names_from = name, values_from = n, values_fill = 0)

# A tibble: 6 × 5
  value column1 column2 column3 column4
  <dbl>   <int>   <int>   <int>   <int>
1  0          4       3       2       1
2  0.3        0       0       2       3
3  0.4        1       1       1       1
4  0.5        1       1       2       0
5  0.75       0       1       0       0
6  1          2       2       1       3
© www.soinside.com 2019 - 2024. All rights reserved.