Wrapper for colSplit that Returns Dataframe(s)

Share:

Description

colsplit2df - Wrapper for colSplit that returns a dataframe.

lcolsplit2df - Wrapper for colsplit2df designed for qdap lists that returns a list dataframes.

Usage

1
2
3
4
colsplit2df(dataframe, splitcols = 1, new.names = NULL, sep = ".",
  keep.orig = FALSE, name.sep = "&", index.names = FALSE)

lcolsplit2df(qdap.list, keep.orig = FALSE)

Arguments

dataframe

A dataframe with a column that has been pasted together.

splitcols

The name/index of the column(s) that has been pasted together.

new.names

A character vector of new names to assign to the columns (or list of names if multiple columns are being split). Default attempts to extract the original names before the paste.

sep

The character(s) that was used in paste2 to paste the columns.

keep.orig

logical. If TRUE the original pasted column will be retained as well.

name.sep

The character(s) that was used to paste the column names.

index.names

logical. If TRUE names of columns that are duplicated are indexed with c("name.1", "name.2", ... "name.n").

qdap.list

A qdap list object that contains dataframes with a leading paste2 column.

Value

colsplit2df - returns a dataframe with the paste2 column split into new columns.

lcolsplit2df - returns a list of dataframes with the paste2 column split into new columns.

Warning

This will strip the class of the qdap object.

Note

lcolsplit2df is a convenience function that is less flexible than colsplit2df but operates on multiple dataframes at once.

See Also

colSplit, colpaste2df paste2

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
28
29
30
31
## Not run: 
CO2$`Plant&Type&Treatment` <- paste2(CO2[, 1:3])
CO2 <- CO2[, -c(1:3)]
head(CO2)
head(colsplit2df(CO2, 3))
head(colsplit2df(CO2, 3, qcv(A, B, C)))
head(colsplit2df(CO2, 3, qcv(A, B, C), keep.orig=TRUE))
head(colsplit2df(CO2, "Plant&Type&Treatment"))
CO2 <- datasets::CO2

(dat <- colpaste2df(head(mtcars), list(1:3), sep = "|"))
colsplit2df(dat, 12, sep = "|")

## Multiple split example
E <- list(
    c(1, 2, 3, 4, 5),
    qcv(mpg, hp),
    c("disp", "am")
)

(dat2 <- colpaste2df(head(mtcars), E, sep ="|"))
cols <- c("mpg&cyl&disp&hp&drat", "mpg&hp", "disp&am")
colsplit2df(dat2, cols, sep = "|")

## lcolsplit2df example
(x <- with(DATA.SPLIT, question_type(state, list(sex, adult))))
ltruncdf(x)
z <- lcolsplit2df(x)
ltruncdf(z)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.