gpt4 book ai didi

R 将行值转为列

转载 作者:行者123 更新时间:2023-12-02 16:19:44 26 4
gpt4 key购买 nike

data %>% select(Year, Type) %>% table() 的输出给我:

Year  Type Freq
2001 A 5
2002 A 2
2003 A 9
... ... ...
2001 B 21
2002 B 22
2003 B 19

我想要我的数据的方式:

Year  A   B   C   D   E  
2001 5 21 .. .. ..
2002 2 22 .. .. ..
2003 9 19 .. .. ..
...

我怎样才能做到这一点?我找到的例子似乎与我的情况不符

最佳答案

使用 reshape 的基础 R 选项

reshape(
df,
direction = "wide",
idvar = "Year",
timevar = "Type"
)

给予

  Year Freq.A Freq.B
1 2001 5 21
2 2002 2 22
3 2003 9 19

data.table 选项

dcast(setDT(df), Year ~ Type)

给予

   Year A  B
1: 2001 5 21
2: 2002 2 22
3: 2003 9 19

dplyr 选项

df %>%
pivot_wider(names_from = Type, values_from = Freq)

给予

# A tibble: 3 x 3
Year A B
<int> <int> <int>
1 2001 5 21
2 2002 2 22
3 2003 9 19

数据

> dput(df)
structure(list(Year = c(2001L, 2002L, 2003L, 2001L, 2002L, 2003L
), Type = c("A", "A", "A", "B", "B", "B"), Freq = c(5L, 2L, 9L,
21L, 22L, 19L)), class = "data.frame", row.names = c(NA, -6L))

关于R 将行值转为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65778767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com