我想根据其中一个列值拆分我拥有的字符矩阵。因此,例如,如果我有 3 列和“n”行,并且我想使用第 2 列作为参考。该脚本应查看第二列并将所有包含相同值的行分组到一个数据框中。
所以,假设我在第 2 列到“n”行中有“A”、“B”、“C”、“D”和“E”值。我想获得(在这种情况下)5个新数据帧,其中包含以第二列值为条件的所有数据行。因此,矩阵第二列中包含“A”的所有行都转到一个数据框,依此类推。
我的数据要大得多,在我想用作参考的列(上例中的第 2 列)中包含大约 400 个不同的字符值来拆分,所以这个过程需要是自动的,我的意思是,它必须自动检测有多少新的应根据“第 2 列”中不同值的数量创建数据框。
这是我需要的一个较短的示例:
structure(c("Hi", "Med", "Hi", "Low", "A", "D", "A", "C", "8",
"3", "9", "9", "1", "1", "1", "2"), .Dim = c(4L, 4L), .Dimnames = list(
NULL, c("b", "x", "y", "z")))
如果我(再次)使用第 2 列(“x”)作为参考,我将需要 3 个新的数据框。一个数据帧包含第 1 行和第 3 行,另一个数据帧包含第 2 行,最后一个数据帧包含第 4 行,因为该列中有 3 个不同的值:“A”、“D”和“C”。
新的数据框应该自动命名为它们被分组的值。所以第一个数据帧应该命名为“A”,第二个“D”等等。是否可以使用我更大的数据使所有这些过程自动化?
我希望我足够清楚,如果之前已经回答过这个问题,我很抱歉,但我找不到适合我的解决方案。