我是 R 新手/可以选择轻松地重新组织数据,并且一直在寻找解决方案,但找不到我想要做的事情。Reshape2 的熔化/铸造似乎不太奏效,而且我对 plyr 的掌握还不够好,无法将其考虑在内。
基本上我有一个具有下面概述的结构的data.frame,其中每个元素都是一个可变长度的类别列表(更紧凑,因为# 列更大,我实际上有多个我想要的category_lists喜欢分开):
>mydf
ID category_list xval yval
1 ID1 cat1, cat2, cat3 xnum1 ynum1
2 ID2 cat2, cat3 xnum2 ynum2
3 ID3 cat1 xnum3 ynum3
我想将类别作为因素(以及相关的值,即第 3/4 列)进行操作,所以我认为我最终需要这样的东西,其中 ID 和 x/y/其他列值根据类别列表的长度:
ID category xval yval
1 ID1 cat1 xnum1 ynum1
2 ID1 cat2 xnum1 ynum1
3 ID1 cat3 xnum1 ynum1
4 ID2 cat2 xnum2 ynum2
5 ID2 cat3 xnum2 ynum2
6 ID3 cat3 xnum2 ynum2
如果 category_list 上的因子/方面有另一个解决方案,那将是一个更简单的解决方案,但我没有遇到支持此的方法,例如以下引发错误
>ggplot(mydf, aes(x=x, y=y)) + geom_point() + facet_grid(~cat_list)
layout_base(data, cols, drop = drop) 中的错误:至少一层必须包含用于分面的所有变量
谢谢!