相关疑难解决方法(0)

复制data.frame的每一行并指定每行的复制数

df <- data.frame(var1 = c('a', 'b', 'c'), var2 = c('d', 'e', 'f'),
                 freq = 1:3)
Run Code Online (Sandbox Code Playgroud)

扩展上面data.frame的前两列的最简单方法是什么,以便每行显示"freq"列中指定的次数?

换句话说,从这里开始:

df
  var1 var2 freq
1    a    d    1
2    b    e    2
3    c    f    3
Run Code Online (Sandbox Code Playgroud)

对此:

df.expanded
  var1 var2
1    a    d
2    b    e
3    b    e
4    c    f
5    c    f
6    c    f
Run Code Online (Sandbox Code Playgroud)

r replicate dataframe

128
推荐指数
8
解决办法
9万
查看次数

取消聚合数据框

有很多类似的问题(例如,重复 data.frame 的每一行指定的次数在 R 中解聚合/反向汇总/扩展数据集在 dplyr 中重复 data.frame 的行),但是我的数据集的结构与这些问题的答案所假设的不同。

我有一个数据框,其中包含每个数据中的测量频率group以及每组每个结果的观察总数total_N

tibble(group=c("A", "B"), total_N=c(4,5), measure_A=c(1,4), measure_B=c(2,3))
# A tibble: 2 x 4
  group total_N outcome_A outcome_B
  <chr>   <dbl>     <dbl>     <dbl>
1 A           4         1         2
2 B           5         4         3
Run Code Online (Sandbox Code Playgroud)

我想对数据进行反聚合,以便数据框的行数与观察总数一样多,并且每个结果都有一个1用于所有带结果的观察值和一个0用于所有没有结果的观察值。因此最终结果应该是这样的数据框:

# A tibble: 9 x 3
  group outcome_A outcome_B
  <chr>     <dbl>     <dbl>
1 A             1         1
2 A             0         1
3 A             0         0
4 A …
Run Code Online (Sandbox Code Playgroud)

r dplyr

3
推荐指数
1
解决办法
429
查看次数

基于另一列的集总系数

该示例显示了不同工厂生产产出的测量结果,其中第一列表示工厂,最后一列表示生产量。

factory <- c("A","A","B","B","B","B","B","C","D")
production <- c(15, 2, 1, 1, 2, 1, 2,20,5)
df <- data.frame(factory, production)
df
  factory production
1       A         15
2       A          2
3       B          1
4       B          1
5       B          2
6       B          1
7       B          2
8       C         20
9       D          5
Run Code Online (Sandbox Code Playgroud)

现在,我想根据该数据集中的总产量将工厂分为更少的级别。

使用正常的 forcats::fct_lump,我可以将它们按 thy 出现的行数进行集中,例如用于制作 3 个级别:

library(tidyverse)    
df %>% mutate(factory=fct_lump(factory,2))
      factory production
    1       A         15
    2       A          2
    3       B          1
    4       B          1
    5       B          2
    6       B          1
    7       B …
Run Code Online (Sandbox Code Playgroud)

r tidyverse forcats

2
推荐指数
1
解决办法
1741
查看次数

标签 统计

r ×3

dataframe ×1

dplyr ×1

forcats ×1

replicate ×1

tidyverse ×1