sorttablewithingroup: sort table within group without changing the group position

Description Usage Arguments Details Value Examples

View source: R/syn2.R

Description

sort table within group without changing the group position

Usage

1
sorttablewithingroup(.data, groupvar, sortvar, decreasing = FALSE)

Arguments

.data

a dataframe

groupvar

a vector of character strings that are names of variables from .data

sortvar

a vector of character strings that are names of variables from .data

decreasing

a boolean if TRUE, decreasing order is used.

Details

Groups are defined by unique values of .data[groupvar]. Within each group, data is sorted according to sortvar.

Value

a list.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
set.seed(1)
N=10
.data=data.frame(
 .group=sample(letters[1:2],N,replace=TRUE),
 y=runif(N),
 origorder=1:N)
 groupvar=".group"
 sortvar="y"
.data2=plyr::ddply(.data,".group",
                  function(d){d$intraorder=order(d[[sortvar]]);
d$neworder=d$origorder[order(order(d[[sortvar]]))];d})
.data4=.data2[.data2[[groupvar]]=="a",];.data4[.data4$intraorder,]
cbind(.data,"|",.data2)
cbind(.data,"|",.data2[order(.data2$origorder),])
cbind(.data[order(order(.data2$origorder)),],"|",.data2)
.data3=cbind(.data,"|",
             .data2[order(.data2$neworder),]);
.data3[.data[[groupvar]]=="a",];.data3
.data3=cbind(.data,"|",
             .data[order(order(.data2$origorder)),][order(.data2$neworder),]);
.data3[.data[[groupvar]]=="a",]
.data3=cbind(.data,"|",
             .data[order(order(.data2$origorder))[order(.data2$neworder)],]);
.data3[.data[[groupvar]]=="a",]
cbind(.data,I="|",sorttablewithingroup(.data,groupvar,sortvar),I="|",
                  sorttablewithingroup(.data,groupvar,sortvar,decreasing=TRUE),
                  I="|",sorttablewithingroup(.data,NULL,groupvar,decreasing=TRUE))

DanielBonnery/BigSyn documentation built on June 28, 2020, 7:18 p.m.