在 R 中的数据框列中使用向量

Using vectors inside dataframe columns in R

我正在用 R 编程一个 classificator,我有可以有多个 classes 的情况,所以我想在同一行中同时有两个 classes 和列 somthing$classes,作为向量。我的意思是,something data.frame 的列 something$classes 应该类似于列表的 Java 或 Python 列表。这是输入 data.frame 数据的示例:

Case    class    class1     class2
  A       X                    Z
  B                 Y
  C       X         Y          Z
  D                 Y          Z

我真正需要做的是将 class、class1 和 class2 作为一个名为 classes 的列,以向量作为元素,这是 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 结构?如果是这样,如何完成以及如何访问每个 classes 向量中的单个元素?

提前致谢

我们可以使用data.table

library(data.table)
setDT(df1)[, {v1 <- unlist(.SD); list(classes = list(v1[v1!='']))}, Case]