R语言 重新组合数据框中列的单元格

rbl8hiat  于 2023-04-03  发布在  其他
关注(0)|答案(2)|浏览(108)

我是R的新手,我正在努力解决这个问题:我有一个数据框架,其中包含两组的比例和置信区间(CI)
| 集团|比例1|置信区间1|比例2...|
| --------------|--------------|--------------|--------------|
| A组|十二岁|10个|……|
| A组|十二岁|十五岁|……|
| B组|二十|十八岁|……|
| B组|二十|二十二|……|
我需要将置信区间列的每两个单元格粘贴在一起以获得:
| 集团|比例1|置信区间1|比例2...|
| --------------|--------------|--------------|--------------|
| A组|十二岁|十至十五|……|
| B组|二十|十八到二十二岁|……|
我尝试执行“pivot_wideer”将CI列一分为二并将单元格“联合”在一起,但出现错误消息

Dataframe %>% 
pivot_wider(col = "Proportion1",
             values_from = "Proportion1" )

我是第一次来,所以可能不太清楚,抱歉。
克莱尔

nhn9ugyo

nhn9ugyo1#

这将:

library(dplyr)

df <- tibble::tribble(
  ~group, ~proportion1, ~confidence_interval1,
  "Group A", 12, 10,
  "Group A", 12, 15,
  "Group B", 20, 18,
  "Group B", 20, 22
)

df |> 
  summarise(
    confidence_interval1 = paste(confidence_interval1, collapse = "-"), 
    .by = c(group, proportion1)
  )

假设proportion2在组内也是常数,您需要将proportion2添加到.by参数中。

gcmastyq

gcmastyq2#

如果“Proportion”列中的值是每个“Group”的单个值,则可以按“Group”和“Proportion”列进行分组

library(dplyr)
library(stringr)
Dataframe %>%
   group_by(Group, across(starts_with("Proportion"))) %>%
   summarise(across(starts_with("Confidence"), ~ str_c(.x, collapse = "-")))

相关问题