繁体   English   中英

r中列表中的model.matrix

[英]model.matrix from lists in r

我试图将因子列表转换为矩阵,例如:

myLists:

    [[1]]
    [1] "RA"   "FZFG" "BR"  
    [[2]]
    [1] "RA"
    [[3]]
    [1] ""
    [[4]]
    [1] ""

RA  FZFG  BR
1    1    1
1    0    0
0    0    0
0    0    0

我试着做以下事情:

allFactors<-c("RA","FZFG","BR")
mat<-model.matrix(~allFactors,  data =myLists)

但有错误:

data.frame中的错误(c(“RA”,“FZFG”,“BR”),“RA”,“”,“”,“”,“”,“c(”RA“,:参数意味着行数不同:3,1,2,4,5,7,6,8,9

对此有任何帮助表示赞赏。

一种选择是

library(qdapTools)
mtabulate(myLists)[-1]

或使用base R

 table(stack(setNames(myLists, seq_along(myLists)))[2:1])[,-1]

基本R选项:

level = unique(unlist(lst))
do.call(rbind, lapply(lst, function(u) table(factor(u, levels=level))))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM