pasteByRow | R Documentation |
Paste data.frame rows into a character vector, optionally removing empty fields in order to avoid delimiters being duplicated.
pasteByRow(
x,
sep = "_",
na.rm = TRUE,
condenseBlanks = TRUE,
includeNames = FALSE,
sepName = ":",
blankGrep = "^[ ]*$",
verbose = FALSE,
...
)
x |
|
sep |
|
na.rm |
|
condenseBlanks |
|
includeNames |
|
sepName |
|
blankGrep |
|
verbose |
|
... |
additional arguments are ignored. |
This function is intended to paste data.frame
(or matrix
, or tibble
)
values for each row of data.
It differs from using apply(x, 2, paste)
:
it handles factors without converting to integer factor level numbers.
it also by default removes blank or empty fields, preventing the delimiter
from being included multiple times, per the condenseBlanks
argument.
it is notably faster than apply, by means of running paste()
on
each column of data, making the output vectorized, and scaling rather
well for large data.frame
objects.
The output can also include name:value pairs, which can make the output data more self-describing in some circumstances. That said, the most basic usefulness of this function is to create row labels.
character
vector of length nrow(x)
.
Other jam string functions:
asSize()
,
breaksByVector()
,
cPasteSU()
,
cPasteS()
,
cPasteUnique()
,
cPasteU()
,
cPaste()
,
fillBlanks()
,
formatInt()
,
gsubOrdered()
,
gsubs()
,
makeNames()
,
mixedOrder()
,
mixedSortDF()
,
mixedSorts()
,
mixedSort()
,
mmixedOrder()
,
nameVectorN()
,
nameVector()
,
padInteger()
,
padString()
,
pasteByRowOrdered()
,
sizeAsNum()
,
tcount()
,
ucfirst()
,
uniques()
# create an example data.frame
a1 <- c("red","blue")[c(1,1,2)];
b1 <- c("yellow","orange")[c(1,2,2)];
d1 <- c("purple","green")[c(1,2,2)];
df2 <- data.frame(a=a1, b=b1, d=d1);
df2;
# the basic output
pasteByRow(df2);
# Now remove an entry to show the empty field is skipped
df2[3,3] <- "";
pasteByRow(df2);
# the output tends to make good rownames
rownames(df2) <- pasteByRow(df2);
# since the data.frame contains colors, we display using
# imageByColors()
par("mar"=c(5,10,4,2));
imageByColors(df2, cellnote=df2);
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.