英文:
group two columns and count in R
问题
我正在尝试使用数据框来进行简单的计数。例如,如果数据框如下所示:
> df
ID lable col1 col2
1 Buckinghamshire 1 A A
2 Cornwall and Isles of Scilly 2 B B
3 Devon 1 A A
4 Dunfermline 2 C C
5 Humberside 2 C C
6 Inner London X A A
7 Kent X A A
8 Kirkcaldy 1 C C
9 Lancashire 1 B B
10 Not known/missing 2 C C
期望的输出如下:
> df2
name group 1 2 X
1 col1 A 4647 4858 108
1 col1 B 120456 146864 3502
1 col1 C 258 53 111
2 col2 A 12247 1202 66
2 col2 B 4585 258 1
2 col2 C 32158 15426 477
我该如何解决这个问题以获得期望的输出?
英文:
I am trying to do a simple counts with dataframe
For example, if the df is as below:
> df
ID lable col1 col2
1 Buckinghamshire 1 A A
2 Cornwall and Isles of Scilly 2 B B
3 Devon 1 A A
4 Dunfermline 2 C C
5 Humberside 2 C C
6 Inner London X A A
7 Kent X A A
8 Kirkcaldy 1 C C
9 Lancashire 1 B B
10 Not known/missing 2 C C
Desire output
> df2
name group 1 2 X
1 col1 A 4647 4858 108
1 col1 B 120456 146864 3502
1 col1 C 258 53 111
2 col2 A 12247 1202 66
2 col2 B 4585 258 1
2 col2 C 32158 15426 477
How can I solve this so I can get desire output
答案1
得分: 0
这是您提供的代码的翻译:
问题不清晰。
lines="
ID, 标签, 列1, 列2
白金汉郡 , 1 ,A,A
康沃尔和西西里群岛 , 2 ,B,B
德文 , 1 ,A,A
邓弗姆林 , 2 ,C,C
亨伯赛德 , 2 ,C,C"
con <- textConnection(lines)
data <- read.csv(con)
data$col2=trimws(data$col2)
library(tidyr)
library(dplyr)
temp=gather(data, key="name", value="group",3:4)
temp2=temp[,c(2,3,4)] %>%
group_by(name, group, label) %>% summarise(count=n())
spread(temp2, key="label", value="count")
结果:
名称 组别 `1` `2`
<chr> <chr> <int> <int>
1 列1 A 2 NA
2 列1 B NA 1
3 列1 C NA 2
4 列2 A 2 NA
5 列2 B NA 1
6 列2 C NA 2
英文:
The question is not clear.
lines="
ID, label, col1, col2
Buckinghamshire , 1 ,A,A
Cornwall and Isles of Scilly , 2 ,B,B
Devon , 1 ,A,A
Dunfermline , 2 ,C,C
Humberside , 2 ,C,C"
con <- textConnection(lines)
data <- read.csv(con)
data$col2=trimws(data$col2)
library(tidyr)
library(dplyr)
temp=gather(data, key="name", value="group",3:4)
temp2=temp[,c(2,3,4)] %>%
group_by(name, group, label) %>% summarise(count=n())
spread(temp2, key="label", value="count")
Result:
name group `1` `2`
<chr> <chr> <int> <int>
1 col1 A 2 NA
2 col1 B NA 1
3 col1 C NA 2
4 col2 A 2 NA
5 col2 B NA 1
6 col2 C NA 2
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论