在R中添加列的字符值

时间:2018-03-07 11:28:22

标签: r ggplot2

我有两列,即square_id& Smart_Nsmart如下所示。 我想计算(添加)N' s和S'对每个square_id和ggplot数据,即map square_id vs Smart_Nsmart。

square_id 1 1 2 2 2 2 3 3 3 3 的 Smart_Nsmart S N N N S S S S S

2 个答案:

答案 0 :(得分:1)

我们可以使用count,然后使用ggplot绘制频率。在这里,我们用geom_bar绘制它(因为OP的帖子中不清楚)

library(dplyr)
library(ggplot2)
df %>% 
   count(square_id, Smart_Nsmart) %>%
   ggplot(., aes(x= square_id, y = n, fill = Smart_Nsmart)) + 
         geom_bar(stat = 'identity')

答案 1 :(得分:0)

以上答案非常聪明。但是,您可以实施countgroup_by,而不是summarise功能,以防将来您想要在代码中应用其他一些功能。

library(dplyr)
library(ggplot2)

dff <- data.frame(a=c(1,1,1,1,2,1,2),b=c("C","C","N","N","N","C","N"))

dff %>% 
group_by(a,b) %>% 
summarise(n = length(b) ) %>%
  ggplot(., aes(x= a, y = n, fill = b)) + 
  geom_bar(stat = 'identity')