R 将字符串列转换为具有重复键的伪变量

R 将字符串列转换为具有重复键的伪变量,r,sparse-matrix,dummy-variable,R,Sparse Matrix,Dummy Variable,我正在尝试转换这个- > df.orig <- data.frame(id = c('foo', 'bar', 'foo'), action = c('abc','def','ghi')) > df.orig id action 1 foo abc 2 bar def 3 foo ghi 使用表格 df <- data.frame(id = c('foo', 'bar', 'foo'), action = c('abc','def','ghi

我正在尝试转换这个-

> df.orig <- data.frame(id = c('foo', 'bar', 'foo'), action = c('abc','def','ghi'))
> df.orig
   id action
1 foo    abc
2 bar    def
3 foo    ghi

使用
表格

  df <- data.frame(id = c('foo', 'bar', 'foo'), action = c('abc','def','ghi'),stringsAsFactors = F)

  table(df$id,df$action)

      abc def ghi
  bar   0   1   0
  foo   1   0   1

df
dcast
似乎工作正常:
reformae2::dcast(df.orig,id~action,fun.agg=length)
> sparse.model.matrix(id ~ action - 1, df.orig)
3 x 3 sparse Matrix of class "dgCMatrix"
  actionabc actiondef actionghi
1         1         .         .
2         .         1         .
3         .         .         1
  df <- data.frame(id = c('foo', 'bar', 'foo'), action = c('abc','def','ghi'),stringsAsFactors = F)

  table(df$id,df$action)

      abc def ghi
  bar   0   1   0
  foo   1   0   1