我有一个数据集,我想将其组织成一个列表,但不确定最有效的方法。这是销售人员和销售产品的列表:
rowId repNum prodNum
001 12006 335506883
002 12008 152348345
003 12055 993047386
004 12006 294726636
005 12069 110847537
006 12006 335506883
007 12006 152348345
... ... ...
我想创建一个列表,其中每个元素都包含销售代表已售出的元素的矢量,我最初的想法是使用 tapply
但这需要一个函数来计算。还有其他建议吗?
最佳答案
如果你的data.frame
被称为dataset
,
split(dataset, dataset$repNum)
将为每个 repNum
创建一个包含组件的列表
> split(dataset, dataset$repNum)
$`12006`
rowId repNum prodNum
1 1 12006 335506883
4 4 12006 294726636
6 6 12006 335506883
7 7 12006 152348345
$`12008`
rowId repNum prodNum
2 2 12008 152348345
$`12055`
rowId repNum prodNum
3 3 12055 993047386
$`12069`
rowId repNum prodNum
5 5 12069 110847537
作为pointed out通过 mrdwab ,您可以通过像这样拆分 prodNum
来获得“代表已售出的商品的矢量 [s]”:
> split(dataset$prodNum, dataset$repNum)
$`12006`
[1] 335506883 294726636 335506883 152348345
$`12008`
[1] 152348345
$`12055`
[1] 993047386
$`12069`
[1] 110847537
关于R 在列表中组织数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12568813/