如何将特定列与数据框的每一列合并?

huangapple go评论96阅读模式
英文:

How to merge a specific column with each column of a dataframe?

问题

让我们假设我有这个数据框(我的原始数据框要大得多):

  1. df = data.frame(ID = c(1,2,2,3,4,5,5),
  2. T = c(1,1,2,1,2,1,2),
  3. product_1 = c('A','A','B','C','A','C','D'),
  4. product_2 = c('C','A','B','A','B','E','C')
  5. )

我希望得到以下输出:

  1. ID product_1_T1 product_1_T2 product_2_T1 product_2_T2
  2. 1 1 A <NA> C <NA>
  3. 2 2 A B A B
  4. 3 3 C <NA> A <NA>
  5. 4 4 <NA> A <NA> B
  6. 5 5 C D E C

如果你有任何其他问题,请随时提出。

英文:

Let's say I have this df (my original dataframe is so much bigger)

  1. df = data.frame(ID = c(1,2,2,3,4,5,5),
  2. T = c(1,1,2,1,2,1,2),
  3. product_1 = c(&#39;A&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;A&#39;,&#39;C&#39;,&#39;D&#39;),
  4. product_2 = c(&#39;C&#39;,&#39;A&#39;,&#39;B&#39;,&#39;A&#39;,&#39;B&#39;,&#39;E&#39;,&#39;C&#39;),
  5. )

I wish to have the following output

  1. ID product_1_T1 product_1_T2 product_2_T1 product_2_T2
  2. 1 1 A &lt;NA&gt; C &lt;NA&gt;
  3. 2 2 A B A B
  4. 3 3 C &lt;NA&gt; A &lt;NA&gt;
  5. 4 4 &lt;NA&gt; A &lt;NA&gt; B
  6. 5 5 C D E C
  7. &gt;
  8. ````
  9. </details>
  10. # 答案1
  11. **得分**: 1
  12. ```r
  13. 使用 `pivot_wider` 函数:
  14. ```r
  15. library(tidyr)
  16. pivot_wider(df, names_from = 'T', values_from = product_1:product_2, names_prefix = "T")
  17. ```
  18. # 生成的数据表:
  19. # 5 行 × 5 列
  20. ID product_1_T1 product_1_T2 product_2_T1 product_2_T2
  21. <dbl> <chr> <chr> <chr> <chr>
  22. 1 1 A NA C NA
  23. 2 2 A B A B
  24. 3 3 C NA A NA
  25. 4 4 NA A NA B
  26. 5 5 C D E C
  27. ```
  28. <details>
  29. <summary>英文:</summary>
  30. With `pivot_wider`:
  31. ```r
  32. library(tidyr)
  33. pivot_wider(df, names_from = &#39;T&#39;, values_from = product_1:product_2, names_prefix = &quot;T&quot;)
  34. # A tibble: 5 &#215; 5
  35. ID product_1_T1 product_1_T2 product_2_T1 product_2_T2
  36. &lt;dbl&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt;
  37. 1 1 A NA C NA
  38. 2 2 A B A B
  39. 3 3 C NA A NA
  40. 4 4 NA A NA B
  41. 5 5 C D E C
  42. ```
  43. </details>

huangapple
  • 本文由 发表于 2023年7月31日 20:52:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/76803821.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定