Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R上创建速率_R_Lm_Rate - Fatal编程技术网

如何在R上创建速率

如何在R上创建速率,r,lm,rate,R,Lm,Rate,我想更改我的数据,以便它能给我该州人口中行人的比率。我使用的是线性模型,我的汇总值如下所示: 系数: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.087061 0.029876 2.914 0.00438 ** intersection 0.009192 0.003086 2.978 0.00362 ** 在这里,我的beta值交集是.009192,这没有意义,因为与人口较少

我想更改我的数据,以便它能给我该州人口中行人的比率。我使用的是线性模型,我的汇总值如下所示: 系数:

             Estimate Std. Error t value Pr(>|t|)   
(Intercept)  0.087061   0.029876   2.914  0.00438 **
intersection 0.009192   0.003086   2.978  0.00362 ** 
在这里,我的beta值交集是.009192,这没有意义,因为与人口较少的州相比,这个值可能没有什么意义

下面是我的数据的浓缩版本,没有我使用的所有列,但这里是csv的链接,以防有人想从中下载

>头部(c)
#一个tibble:6x15
州名PEDS人PERMVIT PERNOTMVIT县县名市日月年纬度经度
1阿拉巴马州03081李(81)234072201932.7-85.3
2 1阿拉巴马0 2 0 55 ETOWAH(55)1280 23 1 2019 34.0-86.1
3 1阿拉巴马州0 4 0 29克莱伯恩(29)0 22 1 2019 33.7-85.4
4 1阿拉巴马州1 1 55埃托瓦(55)2562 22 1 2019 34.0-86.1
51Alabama 01103Baldwin(3)0181201930.7-87.8
6 1阿拉巴马州0 2 0 85 LOWNDES(85)0 7 1 2019 32.2-86.4
#…还有一个变量:命运
下面是我的代码,它贯穿了我正在执行的过程。我不知道如何更改它,使每个值都是一个速率(值如peds或type_int)

#库
rm(list=ls())#用于清除内存中的任何内容
图书馆(单张)
图书馆(tidyverse)
图书馆(ggmap)
图书馆(单张、附加资料)
图书馆(htmltools)
图书馆(GG2)
图书馆(地图)
图书馆(mapproj)
图书馆(地图数据)
图书馆(动物园)
图书馆(TSIBLE)
setwd(“~/Desktop/Statistics790/DataSets/fars2019nationalcv”)
df%
变异(日期=as.date(as.character(粘贴(年、月、日、九月=“-”,%Y-%m-%d)))%>%#创建一个日期
分组依据(日期)%>%#分组依据州id和日期
#汇总在(.vars=vars(PEDS),总和)
总结(pedday=总和(PEDS),交点=平均值(典型值))

#ts1整理我从评论中得到的答案:你需要从外部来源(如美国人口普查)获取州人口数据,读入数据,将其加入到你的数据集中,然后计算每人口的行人率,缩放以便于在图表上阅读。通过将一些计算从循环中去掉,可以加快代码的速度。下面的代码假设普查数据称为“census.csv”,并包含“地理区域”列(表示州)和“X2019”列(表示最新可用的人口数据)

pop <- read.csv('census.csv')
df <- read.csv('accidents.csv') %>% 
   left_join(pop, by = c('STATENAME' = 'Geographic Area') %>% 
   mutate(rate = (PEDS / X2019) * <scale>) %>%
   mutate(date = as.Date(as.character(paste(YEAR, MONTH, DAY, sep = "-"),"%Y-%m-%d")))
pop%
突变率=(PEDS/X2019)*)%>%
变异(日期=as.date(as.character)(粘贴(年、月、日、九月=“-”,%Y-%m-%d”))

左连接将匹配州名称,并根据其状态为每一行指定一个填充值,而不管有多少行。

是否需要PED与人员的比率?如果是这样的话,
df$rate Hello Elle,我希望有行人/人口,其中人口取决于州。我这里有51个州和每个州的行人值。我这里没有人口总数栏,我需要从外部来源获取,但我不知道从哪里开始@elle也许你可以从人口普查网站获取,然后做一些类似于左加入(df,Census,by=c('State'))
。啊,我明白你的建议,但我需要左加入到每个州,由于每个都作为自己的csv进行处理,我对实现这一点的步骤感到困惑@elle您可以将它们作为循环中列表的元素读入,然后使用bind_rows()将它们粘在一个表中,然后只需将它们左键连接一次即可。我想你指的是你的dfs,因为人口普查数据已经在一起了。但看起来您的df确实包含多个状态,因为您过滤STATE==i。。。
#Libraries
rm(list=ls()) # this is to clear anything  in memory
library(leaflet)
library(tidyverse)
library(ggmap)
library(leaflet.extras)
library(htmltools)
library(ggplot2)
library(maps)
library(mapproj)
library(mapdata)
library(zoo)
library(tsibble)

setwd("~/Desktop/Statistics790/DataSets/FARS2019NationalCSV")
df <- read.csv("accident.csv")

state <- unique(df$STATE)
for(i in state){
  df1<- df %>%
    filter(STATE==i) %>%
    dplyr::select(c(STATE,PEDS,DAY,MONTH,YEAR,TYP_INT)) %>%
    mutate(date = as.Date(as.character(paste(YEAR, MONTH, DAY, sep = "-"),"%Y-%m-%d"))) %>% # create a date
    group_by(date) %>% # Group by State id and date
    # summarise_at(.vars = vars(PEDS), sum)
    summarise(pedday=sum(PEDS),intersection=mean(TYP_INT))
#ts1<-ts(df,start=c(2019,1,1), frequency=365) 
setwd("~/Desktop/Statistics790/States_ts/figures")
plots<-df1 %>% 
    ggplot()+
    geom_line(aes(x=date,y=pedday))+ylim(0,13)+
    theme_bw()
    ggsave(paste0("state_",i,".png"),width=8,height=6, )
  ts1<-ts(df1,start=c(2019,1,1), frequency=365)
  setwd("~/Desktop/Statistics790/States_ts")
  ts1 %>% write.csv(paste0("state_",i,".csv"),row.names = F)
#Plots
}
#date1<- as.character(df$date)
#df1<- df%>% filter(STATE=="1")
#ts2<-xts(df,order.by = as.Date(df$date,"%Y-%m-%d"))
setwd("~/Desktop/Statistics790/States_ts")
cat("\f")
#df <- read.csv(paste0("state_1.csv"))
#print("------Linear Model------")
#summary(lm(pedday~weather,data=df))

for(i in state){
  print(paste0("-------------------------Analysis for State: ",i," -------------------------------"))
  df <- read.csv(paste0("state_",i,".csv"))
  print("------Linear Model------")
  print(summary(lm(pedday~intersection,data=df)))
}
pop <- read.csv('census.csv')
df <- read.csv('accidents.csv') %>% 
   left_join(pop, by = c('STATENAME' = 'Geographic Area') %>% 
   mutate(rate = (PEDS / X2019) * <scale>) %>%
   mutate(date = as.Date(as.character(paste(YEAR, MONTH, DAY, sep = "-"),"%Y-%m-%d")))