Learn R Programming

qdap (version 2.4.6)

colsplit2df: Wrapper for colSplit that Returns Dataframe(s)

Description

colsplit2df - Wrapper for colSplit that returns a dataframe.

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

Usage

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

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

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.

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.

Warning

This will strip the class of the qdap object.

See Also

colSplit, colpaste2df paste2

Examples

Run this code
if (FALSE) {
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)
}

Run the code above in your browser using DataLab