cbind.dfm: Combine dfm objects by Rows or Columns

Description Usage Arguments Details Examples

View source: R/dfm-classes.R

Description

Combine a dfm with another dfm, or numeric, or matrix object, returning a dfm with the combined documents or features, respectively.

Usage

1
2
3
4
5
## S3 method for class 'dfm'
cbind(...)

## S3 method for class 'dfm'
rbind(...)

Arguments

...

dfm, numeric, or matrix objects to be joined column-wise (cbind) or row-wise (rbind) to the first. Numeric objects not confirming to the row or column dimension will be recycled as normal.

Details

cbind(x, y, ...) combines dfm objects by columns, returning a dfm object with combined features from input dfm objects. Note that this should be used with extreme caution, as joining dfms with different documents will result in a new row with the docname(s) of the first dfm, merging in those from the second. Furthermore, if features are shared between the dfms being cbinded, then duplicate feature labels will result. In both instances, warning messages will result.

rbind(x, y, ...) combines dfm objects by rows, returning a dfm object with combined features from input dfm objects. Features are matched between the two dfm objects, so that the order and names of the features do not need to match. The order of the features in the resulting dfm is not guaranteed. The attributes and settings of this new dfm are not currently preserved.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# cbind() for dfm objects
(dfm1 <- dfm(c("a b c d", "c d e f")))
(dfm2 <- dfm(c("a b", "x y z")))
cbind(dfm1, dfm2)
cbind(dfm1, 100)
cbind(100, dfm1)
cbind(dfm1, matrix(c(101, 102), ncol = 1))
cbind(matrix(c(101, 102), ncol = 1), dfm1)


# rbind() for dfm objects
(dfm1 <- dfm(c(doc1 = "This is one sample text sample."), verbose = FALSE))
(dfm2 <- dfm(c(doc2 = "One two three text text."), verbose = FALSE))
(dfm3 <- dfm(c(doc3 = "This is the fourth sample text."), verbose = FALSE))
rbind(dfm1, dfm2)
rbind(dfm1, dfm2, dfm3)

Example output

quanteda version 0.99
Using 2 of 1 threads for parallel computing

Attaching package: 'quanteda'

The following object is masked from 'package:utils':

    View

Document-feature matrix of: 2 documents, 6 features (33.3% sparse).
2 x 6 sparse Matrix of class "dfmSparse"
       features
docs    a b c d e f
  text1 1 1 1 1 0 0
  text2 0 0 1 1 1 1
Document-feature matrix of: 2 documents, 5 features (50% sparse).
2 x 5 sparse Matrix of class "dfmSparse"
       features
docs    a b x y z
  text1 1 1 0 0 0
  text2 0 0 1 1 1
Document-feature matrix of: 2 documents, 11 features (40.9% sparse).
2 x 11 sparse Matrix of class "dfmSparse"
       features
docs    a b c d e f a b x y z
  text1 1 1 1 1 0 0 1 1 0 0 0
  text2 0 0 1 1 1 1 0 0 1 1 1
Warning message:
cbinding dfms with overlapping features will result in duplicated features 
Document-feature matrix of: 2 documents, 7 features (28.6% sparse).
2 x 7 sparse Matrix of class "dfmSparse"
       features
docs    a b c d e f feat
  text1 1 1 1 1 0 0  100
  text2 0 0 1 1 1 1  100
Document-feature matrix of: 2 documents, 7 features (28.6% sparse).
2 x 7 sparse Matrix of class "dfmSparse"
       features
docs    feat a b c d e f
  text1  100 1 1 1 1 0 0
  text2  100 0 0 1 1 1 1
Document-feature matrix of: 2 documents, 7 features (28.6% sparse).
2 x 7 sparse Matrix of class "dfmSparse"
       features
docs    a b c d e f feat
  text1 1 1 1 1 0 0  101
  text2 0 0 1 1 1 1  102
Document-feature matrix of: 2 documents, 7 features (28.6% sparse).
2 x 7 sparse Matrix of class "dfmSparse"
       features
docs    feat a b c d e f
  text1  101 1 1 1 1 0 0
  text2  102 0 0 1 1 1 1
Document-feature matrix of: 1 document, 6 features (0% sparse).
1 x 6 sparse Matrix of class "dfmSparse"
      features
docs   this is one sample text .
  doc1    1  1   1      2    1 1
Document-feature matrix of: 1 document, 5 features (0% sparse).
1 x 5 sparse Matrix of class "dfmSparse"
      features
docs   one two three text .
  doc2   1   1     1    2 1
Document-feature matrix of: 1 document, 7 features (0% sparse).
1 x 7 sparse Matrix of class "dfmSparse"
      features
docs   this is the fourth sample text .
  doc3    1  1   1      1      1    1 1
Document-feature matrix of: 2 documents, 8 features (31.2% sparse).
2 x 8 sparse Matrix of class "dfmSparse"
      features
docs   one text . this is sample two three
  doc1   1    1 1    1  1      2   0     0
  doc2   1    2 1    0  0      0   1     1
Document-feature matrix of: 3 documents, 10 features (40% sparse).
3 x 10 sparse Matrix of class "dfmSparse"
      features
docs   text . this is sample one two three the fourth
  doc1    1 1    1  1      2   1   0     0   0      0
  doc2    2 1    0  0      0   1   1     1   0      0
  doc3    1 1    1  1      1   0   0     0   1      1

quanteda documentation built on Nov. 17, 2017, 7:46 a.m.