我可以用 R 重塑和填充 tibble() 中的数字吗?

Can I reshape and fill a number in tibble() with R?

我是 R 编程 + tidyverse 的新手。

如下图所示,我要填写每行每列的Item名称对应的NA

然后我想每个地区名称只保留一行。

我如何在 tidyverse 或典型的 R 编程中做到这一点?

from

District Name     Item  Score  TB_E04a  TB_E04b TB_E04d
------------------------------------------------------------
Anderson County TB_E04a 0.51    NA  NA  NA
Anderson County TB_E04b 0.68    NA  NA  NA
Anderson County TB_E04d 0.67    NA  NA  NA
Clinton City    TB_E04a 1.00    NA  NA  NA
Clinton City    TB_E04b 1.00    NA  NA  NA
Clinton City    TB_E04d 1.00    NA  NA  NA
to

District Name     Item  Score  TB_E04a  TB_E04b TB_E04d
------------------------------------------------------------
Anderson County TB_E04a 0.51    0.51    0.68    0.67
......(So on)

是这样的吗?

library(dplyr)
library(tidyr)

df %>% 
  select(-starts_with("TB")) %>% 
  pivot_wider(
    names_from = Item,
    values_from = Score
  )

  District Name   TB_E04a TB_E04b TB_E04d
  <chr>    <chr>    <dbl>   <dbl>   <dbl>
1 Anderson County    0.51    0.68    0.67
2 Clinton  City      1       1       1   

基础 R:reshape

df1 <- reshape(df,
        v.names = "Score",
        idvar = "District",
        timevar = "Item",
        direction = "wide")
df1 <- df1[,c(1:2, 6:8)]
df1
  District   Name Score.TB_E04a Score.TB_E04b Score.TB_E04d
1 Anderson County          0.51          0.68          0.67
4  Clinton   City          1.00          1.00          1.00