Movatterモバイル変換


[0]ホーム

URL:


Type:Package
Title:Working with Ethiopian Dates
Version:0.2.0
Description:A robust and efficient solution for working with Ethiopian dates. It can seamlessly convert to and from Gregorian dates. It is designed to be compatible with the 'tidyverse' data workflow, including plotting with 'ggplot2'. It ensures lightning-fast computations by integrating high-performance 'C++' code through 'Rcpp' package.
License:MIT + file LICENSE
Encoding:UTF-8
LazyData:true
RoxygenNote:7.3.2
LinkingTo:Rcpp
Imports:Rcpp, stringr, vctrs
Suggests:dplyr, ggplot2, knitr, rmarkdown, scales, testthat (≥ 3.0.0)
Config/testthat/edition:3
URL:https://guturago.github.io/ethiodate/
VignetteBuilder:knitr
Depends:R (≥ 4.1.0)
NeedsCompilation:yes
Packaged:2025-05-28 16:19:28 UTC; Gute
Author:Gutama Girja UragoORCID iD [aut, cre, cph]
Maintainer:Gutama Girja Urago <girjagutama@gmail.com>
Repository:CRAN
Date/Publication:2025-05-28 16:50:02 UTC

Monthly FAO Food Price Index 2001-2023

Description

A subset of data from the FAO Food Price Index for Ethiopia.

Usage

cpieth

Format

cpieth

A data frame with 270 rows and 2 columns:

date

Date (GC)

cpi

Consumer price index

Source

https://data360.worldbank.org/en/indicator/FAO_CP_23014?country=ETH


Create an Ethiopian Date Object

Description

Convert an object to an Ethiopian date.

Usage

eth_date(x, ...)## S3 method for class 'numeric'eth_date(x, origin = NULL, ...)## S3 method for class 'character'eth_date(x, format = "%Y-%m-%d", lang = c("lat", "amh", "en"), ...)## S3 method for class 'Date'eth_date(x, ...)## S3 method for class 'POSIXct'eth_date(x, ...)## S3 method for class 'POSIXt'eth_date(x, ...)## S3 method for class 'factor'eth_date(x, ...)

Arguments

x

a numeric, character, Date, POSIXct or POSIXt vector.

...

further arguments to be passed to specific methods (see above).

origin

a ethdate or Date object, or something that can be coerced byeth_date(origin, ...). Default: the Unix epoch of "1970-01-01" GC ("1962-04-23" EC).

format

format argument for character method to parse the date.

lang

a language in which month names are written, if included in x.Use "lat" for Amharic month names written in Latin alphabets, "amh" for month nameswritten in Amharic alphabets, and "en" for English month names.

Details

eth_date() internally stores the number of days as an integer since the Unix epoch of "1970-01-01" GC ("1962-04-23" EC).Days before "1962-04-23" EC are represented as negative integers.This makes it easy to convert from and to baseDate objects.

The conversion of numeric vectors assumes that the vector represents a number of days sincethe origin ("1962-04-23" EC if origin is NULL). For the date objects, it extracts underlyingnumeric values and convert it to anethiodate object. To convert from POSIXct or POSIXt,it coerces these objects to base Date objects and then applies the conversion.

To parse a character vector, a valid format must be supplied. The default is "%Y-%m-%d".Please see the details section ofstrptime. Factors can also be coercedtoethdate after being internally converted to character.

Value

a vector of an 'ethdate' object corresponding to x.

Author(s)

Gutama Girja Urago

See Also

eth_make_date()eth_parse_date()

Examples

eth_date(Sys.Date())eth_date(Sys.time())x <- 7eth_date(x)eth_date(x, origin = Sys.Date())eth_date(x, origin = eth_today())eth_date(x, origin = "2017-01-01")eth_date(x, origin = "01-01-2017", format = "%d-%m-%Y")s <- c("01/01/2013", "06/13/2011")eth_date(s, format = "%d/%m/%Y")

Make Ethiopian Date

Description

Make Ethiopian date from year, month and day components.

Usage

eth_make_date(year, month, day)

Arguments

year

an integer vector of Ethiopian year.

month

an integer vector of Ethiopian month.

day

an integer vector of Ethiopian day.

Details

This function makes an Ethiopian date object from three integer vectors of an equal length.It validates the date and returnsNA for invalid dates. It accounts for leap years.

Value

a vector of an 'ethdate' object.

Author(s)

Gutama Girja Urago

See Also

eth_date()eth_parse_date()

Examples

eth_make_date(2017, 01, 15)

Parse Ethiopian Date

Description

Parse Ethiopian date from character vector that has a non-digit separator.

Usage

eth_parse_date(x, format = "%Y-%m-%d", lang = c("lat", "amh", "en"))

Arguments

x

a character vector.

format

a format in in which x is composed. Seestrptime.

lang

a language in which month names are written, if included in x.Use "lat" for Amharic month names written in Latin alphabets, "amh" for month nameswritten in Amharic alphabets, and "en" for English month names.

Details

x must include a non-digit separator and exactly three components of the date (year, month, and day).

Value

a vector of an'ethdate' object.

Author(s)

Gutama Girja Urago

See Also

eth_date()eth_make_date()

Examples

eth_parse_date("2017-01-01")s <- c("01/01/2013", "06/13/2011")eth_parse_date(s, format = "%d/%m/%Y")

See Month or Day Names

Description

Small functions that displays texts.

Usage

eth_show(x = c("%B", "%b", "%A", "%a"), lang = c("lat", "amh", "en"))eth_today(...)eth_now(...)

Arguments

x

what you want to see.

lang

language of the text.

...

arguments that passes toformat()

Details

eth_show() displays the underlying month and weekday names that is used byeth_parse_date().

Value

Except foreth_date(), which returns anethdate object, other functions return a character vector.

Author(s)

Gutama Girja Urago

Examples

eth_show()eth_show("%A", "amh")eth_today()eth_now()

Ethiopian Date Components

Description

Small functions that helps to extract parts of Ethiopian date objects.

Usage

eth_year(x)eth_month(x)eth_monthname(x, lang = c("lat", "amh", "en"), abbreviate = FALSE)eth_day(x)eth_weekday(x, lang = c("lat", "amh", "en"), abbreviate = FALSE)eth_quarter(x)

Arguments

x

a vector of an Ethiopian date object

lang

a language. 'lat' for Amharic written in Latin alphabets, 'amh' for Amharic, and'en' for English

abbreviate

Do you want to get an abbreviated month or weekday names?

Value

a vector

Author(s)

Gutama Girja Urago

Examples

today <- eth_date(Sys.Date())eth_year(today)eth_month(today)eth_monthname(today)eth_day(today)eth_weekday(today)

Plotting Ethiopian Date

Description

Helper functions to plot anethdate object usingggplot2.

Usage

scale_x_ethdate(breaks = eth_breaks(), labels = eth_labels(), ...)scale_y_ethdate(breaks = eth_breaks(), labels = eth_labels(), ...)eth_breaks(n = 5, pretty = TRUE)eth_labels(format = "%b %d, %Y", lang = "lat")

Arguments

breaks

A numeric vector of positions oreth_breaks() function.

labels

A character vector giving labels (must be same length as breaks) oreth_labels() function.

...

further arguments to be passed toggplot2::scale_x_continuous() orggplot2::scale_y_continuous().

n

A number of breaks.

pretty

Logical; if TRUE, use pretty() for rounded breaks.

format

A format for theethdate.

lang

A language for the month or weekday names if involved. Use "lat" for Latin alphabets"amh" for Amharic alphabets, and "en" for English names.

Details

eth_labels() andeth_breaks() are designed to be used only in the⁠scale_(x|y)_ethdate⁠ functions.

Value

Mapsethdate objects onggplot2 layers.

Author(s)

Gutama Girja Urago

Examples

library(ggplot2)cpieth[["ethdt"]] <- eth_date(cpieth$date)ggplot(cpieth, aes(ethdt, cpi)) +  geom_line() +  scale_x_ethdate(breaks = eth_breaks(6),                  labels = eth_labels("%Y"),                  name = "Year (EC)") +  theme_bw()

Utils

Description

Small helper functions.

Usage

is_eth_date(x)is_eth_leap(x)## S3 method for class 'ethdate'as.Date(x, ...)## S3 method for class 'ethdate'as.double(x, ...)## S3 method for class 'ethdate'as.character(x, ...)## S3 method for class 'ethdate'format(x, format = "%Y-%m-%d", lang = c("lat", "amh", "en"), ...)

Arguments

x

an ethdate or numeric vector.

...

further arguments to be passed to specific methods.

format

a format for character date.

lang

a language.

Value

is_eth_leap() returns a boolean vector,as.Date() returns a Date object,as.numeric() returns number of date since 1970-01-01 GC (1962-04-23 EC), andas.character() returns formatted character date.

Examples

is_eth_leap(2011)

[8]ページ先頭

©2009-2025 Movatter.jp