我正在编写一个R中的分类器,我有一些可以有多个类的情况,所以我希望将两个类放在同一行,并将列作为一个向量的类。我的意思是,列的内容是$ classes,data.frame应该像Java或Python列表一样。以下是输入data.frame数据的示例:
Case class class1 class2
A X Z
B Y
C X Y Z
D Y Z
我真正需要做的是将class,class1和class2作为一个名为classes的列,使用vector作为元素,这是我想要的data.frame:
Case classes
A [X, Z] %<- This is a vector, not an string
B [Y]
C [X, Y, Z]
D [Y, Z]
有没有办法拥有这个data.frame结构?如果是这样,如何完成以及如何访问每个类向量中的单个元素?
提前致谢
答案 0 :(得分:1)
我们可以使用data.table
library(data.table)
setDT(df1)[, {v1 <- unlist(.SD); list(classes = list(v1[v1!='']))}, Case]