我有一个数据源,可以表示为可能包含 30 个数据帧的列表(我说的是数据帧,但如果存在更好的结构,请随时使用它来回答 - 尚未编写任何内容)。每个数据框与其他数据框没有任何直接关系,但每个数据框都有 3 列和 n 行。第 1 列是标签,第 2 列和第 3 列是值(总是数字)。
为了有形性,假设每个数据帧是聚会上吃的食物列表,每一列代表爱丽丝和鲍勃吃的每件物品的数量。
例如
A = [5 x 3] # (apples, pears, cookies, grapes, watermelon)
# ---------------------------------------------------
# item Alice Bob
# apples 3 7
# pears 1 2
# cookies 10 4
# grapes 238 483
# watermelon 0 1
# ---------------------------------------------------
B = [1 x 3] # (grapes)
C = [3 x 3] # (beef, rice, apples)
...
Z = [4 x 3] # (rice, grapes, watermelon, beef)
我想将这些矩阵表示为数据结构,这样我可以问
- 高于所有项目的一般问题 - 例如,Alice 和 Bob 中的哪一个总体上吃了最多的项目,他们的平均值是多少,标准偏差等
- 标注具体问题——例如 Alice 和 Bob 中的哪一个最多葡萄?
每当我遇到这种问题时,我总是会写出非常丑陋的代码,其中包含列表列表,需要[]
运算符或as.matrix()
//函数as.list()
,as.dataframe()
而且通常看起来是一种非常糟糕的做事方式。
对于这类数据,什么是好的/最好的方法?