Первый раз, давний слушатель.
Я пытаюсь решить две проблемы.
моя функция не работает, как ожидалось.
Я не могу понять, как построить график на основе данных даты
Я пытался подойти к своей функциональной проблеме с разных точек зрения, но я только усложняю ситуацию, которая должна быть. Проблема, которую я не могу преодолеть, состоит в том, что последовательность дат, которую я создал для диапазона дат набора данных, не равна длине столбцов набора данных.
Для оси Y моего графика я хочу:
f (даты [x]) = количество записей набора данных в или раньше дат [x],
Где даты [x] относятся к определенной дате в диапазоне дат набора данных
Я уверен, что есть простое решение, но я не могу понять его.
Примечание: Раньше у меня было базовое понимание r, но я переучиваюсь после долгого перерыва, пожалуйста, используйте самые простые термины, какие только возможны
# import data
data <- read.csv("https://raw.githubusercontent.com/washingtonpost/data-police-shootings/master/fatal-police-shootings-data.csv")
#
# coerce date column into date class
data$date <- as.POSIXlt.date(data$date)
#
# sequence of dates for date range of data set
dates <- seq(data$date[1], data$date[length(data$date)], by = "days")
#
# numeric vector for the number of days in the date range of data set
xx <- c(1:length(dates))
#
# function meant to return a numeric vector of the count of entries in the data set that occurred on or before a given date
# within the data set date range.
fun <- function(x){
sum(dates[x]<=data$date)
}
# This function returns a single value and not a vector as I'd expected.
# This plot is the objective. x = number of days in data set date range, y = number of entries in data set on or before date(x)
plot(xx,y=fun(xx))