在R中创建和保存可视化

vql8enpb  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(163)

我是新来的,我觉得这整件事很混乱,所以我会尽我所能解释我在做什么。我有四个CSV,其中包含用户生日和性别的信息。数据是在2016年收集的,所以因为我只有生日,我试图添加一个专门是年龄的列。这些列中的每一列都有一些行是空白的。我发现在一些出生年份中可能有错误,因为这些数据是针对自行车租赁的,而且一个117岁的人租自行车的可能性也很小(因为这是数据停止一致的地方)。2.我想合并来自四个CSV的数据。3.我想创建一个堆叠的柱形图,在x轴上填充性别,并且我想在y轴上计数。4.最后,我想把它保存为PNG。
我已经花了3天的时间来做这件事,我知道我应该能在10分钟内完成。我觉得我已经接近了,但是我很累了,我希望得到任何帮助或反馈,告诉我如何改进或我错过了什么。
这是我目前的代码。我目前没有过滤85岁以下的人。这导致x轴延伸得比必要的更远。此外,我过滤了性别中的空白,但R仍然为空白生成颜色并标记它。

# List of file names
DF1 <- read.csv("D:/Projects/Cyclists/Divvy_Trips_2016_Q1Q2/Divvy_Trips_2016_Q1.csv") 
DF2 <- read.csv("D:/Projects/Cyclists/Divvy_Trips_2016_Q1Q2/Divvy_Trips_2016_04.csv")
DF3 <- read.csv("D:/Projects/Cyclists/Divvy_Trips_2016_Q1Q2/Divvy_Trips_2016_05.csv")
DF4 <- read.csv("D:/Projects/Cyclists/Divvy_Trips_2016_Q1Q2/Divvy_Trips_2016_06.csv")

# Load data frames from files and select columns
df1_select <- select(DF1, birthyear, gender)
df2_select <- select(DF2, birthyear, gender)
df3_select <- select(DF3, birthyear, gender)
df4_select <- select(DF4, birthyear, gender)
age<-combined_df %>% 
  mutate(age=2016-birthyear)
#Combine the five data frames into one:
combined_df <- bind_rows(df1_select, df2_select, df3_select, df4_select,age)
#Create a visualization of the gender and age correlations.
combined_df %>% 
  drop_na(gender) %>% 
  drop_na(age) %>%
  ggplot(aes(age,fill=gender))+
  geom_bar()
  ggsave("gender_age.png")
bq3bfh9z

bq3bfh9z1#

R在当时会让人不知所措,我记得我也是新手,花了几个小时来做基本的事情。:)无论如何,这里是部分解决方案。部分是因为你没有提供任何示例数据,我们没有办法知道你的CSV是什么样子的。
模拟一些数据:合并dataframe的过程与这里提供的合并这些向量的过程相同,只需要使用rbind.data.frame而不是cbind

a<-rnorm(100, 80,10)
b<-rep(letters[1:5], 20)
d<-rbinom(100,1,0.4)

abd<-cbind.data.frame(a,b,d)

1.)滤波器变量低于和/或等于85

library(tidyverse)

abd_new<-abd %>% filter(a<=85)

3.)堆叠条形图(我想这就是你所说的柱形图?)

ggplot(abd, aes(x=b,y=d))+
  geom_bar(aes(fill=a), stat="identity")

4.)如果你没有在Rstudio中工作,启动。只需点击“导出图像”并以你想要的方式保存它。

相关问题