【问题标题】:Generate data frame with parameters [duplicate]生成带有参数的数据框[重复]
【发布时间】:2019-05-12 12:09:45
【问题描述】:

我有一个带有数字列的 id 数据框

df <- read.table(text="
   id     nr 
   1      1   
   2      1  
   1      2     
   3      1    
   1      3    
", header=TRUE)

我想从中创建新的数据框,其中每个 id 将具有来自 df 数据框的唯一 nr。您可能注意到,id 3 只有 nr 1,但没有 2 和 3。所以结果应该是。

result <- read.table(text="
   id     nr 
   1      1   
   1      2  
   1      3     
   2      1    
   2      2 
   2      3 
   3      1    
   3      2 
   3      3  
", header=TRUE)

【问题讨论】:

  • tidyr::complete(df, id, nr)

标签: r


【解决方案1】:

您可以将expand.grid 用作:

library(dplyr)
result <- expand.grid(id = unique(df$id), nr = unique(df$nr)) %>%
  arrange(id)
result
 id nr
1  1  1
2  1  2
3  1  3
4  2  1
5  2  2
6  2  3
7  3  1
8  3  2
9  3  3

【讨论】:

    【解决方案2】:

    我们可以做到:

    tidyr::expand(df,id,nr)
    # A tibble: 9 x 2
         id    nr
      <int> <int>
    1     1     1
    2     1     2
    3     1     3
    4     2     1
    5     2     2
    6     2     3
    7     3     1
    8     3     2
    9     3     3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 2021-10-26
      • 2018-09-28
      相关资源
      最近更新 更多