dataMnp: dataMnp

Description Usage Arguments Examples

View source: R/dataMnp.R

Description

a function provides data manipulating procedures, mainly based on data.table.

Usage

1
2
3
4
5
6
dataMnp(data, subset = NA, newVars = NA, newVarsFormulas = NA,
  newVarsBy = NA, indexNames, Formulas, dimVars, dimNames = NA,
  dateVar = NA, dtOrders = "ymd", margin = 0, revisedNames = NA,
  revisedFormulas = NA, revisedMargin = 0, orderVars = NA,
  orders = NA, Digits = 2, tbVars = NA, hbVars = NA,
  colOrder = NA)

Arguments

data

data.frame

subset

character string could be parsed as a logical expression or NA, eg. subset="sex==1"

newVars

new vars names, could be character string or NA, eg. newVars='ageNew'

newVarsFormulas

character string could be parsed as formulas or NA, eg. "sum(age)"

newVarsBy

groupby var name or NA

indexNames

variable names generated in the jth procedre as data.table.

Formulas

character string could be parsed as expression, and seperated with ";" eg. "mean(disp);sum(disp)"

dimVars

group by variable names, same as k in data.table

dimNames

rename the dimVars

dateVar

set the dateVar in the data.frame if any

dtOrders

set the date variable format, could be 'ymd', 'mdy', 'ymd hms', please refer to lubridate::parse_date_time for more detail.

margin

calculate margin results. 0 means no margin results should calculated, 1 for the first 1 dimVars, 2 for the first 2 dimVars, etc.

revisedNames

new variable name generated using the results

revisedFormulas

formulas corresponding to revisedNames

revisedMargin

same as margin but only for revised vars

orderVars

please refer to data.table::setorderv for more detail.

orders

please refer to data.table::setorderv for more detail.

Digits

set digits

tbVars

vars needed to calculate tongbi(chinese, means Year over Year) index.

hbVars

vars needed to calculate huanbi(chinese, means month over month, quater over quater, etc.)

colOrder

reorder column orders.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
expand.grid(2017:2018,1:12,1:28)->X
apply(X,1,function(x)paste(x,collapse='-'))->date
dt<-data.frame(ts=date,grp1=sample(letters[1:5],length(date),rep=T),y=rnorm(length(date)))
dataMnp(data=dt,indexNames=c('a','b','c'),Formulas='mean(y);sd(y);sd(y)/mean(y)',dimVars='year(ts);month(ts);grp1',dimNames = 'year;month;grp',dateVar = 'ts',dtOrders = 'ymd',orderVars = 'grp',orders='1',tbVars='a;b',hbVars=c('c','tt'),revisedNames = 'tt',revisedFormulas = 'a+b',colOrder='1;2;3;4;5;6;8;9')->res

# generate new variable 
dataMnp(data=mtcars,subset='vs==1',newVars='test',newVarsFormulas='mpg+disp',indexNames='sumMPG',Formulas='sum(mpg)',dimVars='gear',dimNames='VS')

# revise the result using revisedNames, revisedFormulas,revisedMargin args. it's same as DT[i,j,k][c('revisedvars'):=list(...),by=.(...)]
# the revisedMargin means groupby which dimVars, eg. 1 means the first 1 dimVars, and 2 means the first 2 dimVars, 0 means no groupby variables.

dataMnp(data=mtcars,newVarsFormulas='mpg+disp',indexNames='sumMPG',Formulas='sum(mpg)',dimVars='vs;gear',dimNames='VS;Gear',revisedNames='x',revisedFormulas='sum(sumMPG)',revisedMargin=o)
dataMnp(data=mtcars,newVarsFormulas='mpg+disp',indexNames='sumMPG',Formulas='sum(mpg)',dimVars='vs;gear',dimNames='VS;Gear',revisedNames='x',revisedFormulas='sum(sumMPG)',revisedMargin=1)
dataMnp(data=mtcars,newVarsFormulas='mpg+disp',indexNames='sumMPG',Formulas='sum(mpg)',dimVars='vs;gear',dimNames='VS;Gear',revisedNames='x',revisedFormulas='sum(sumMPG)',revisedMargin=2)

sontron/madis documentation built on March 23, 2021, 10:17 p.m.