我在 R 方面相对较新(约 3 个月),所以我只是掌握了所有不同数据类型的窍门。虽然列表是在一个地方保存不同数据的一种超级有用的方式,但它们对于函数调用也非常不灵活,让我感到焦虑。
对于我正在做的工作,我经常使用列表,因为我需要保存一堆不同长度的向量。例如,我正在跟踪大约 10,000 辆不同车辆的性能统计数据,并且有些车辆非常相似,在某些分析中它们基本上可以被视为相同的车辆。
假设我们有这个车辆 ID 列表:
List <- list(a=1, b=c(2,3,4), c=5)
为了简单起见。
我想做两件事:
告诉我特定车辆在列表的哪个元素中。所以当我告诉 R 我正在使用车辆
2
时,它应该告诉我b
或[2]
。我觉得这应该是一些简单的事情,比如你可以怎么做match(3,b) > 2
将其转换为数据框或类似的东西,以便可以将其保存为 CSV。未使用的行可以是空白或
NA
. 到目前为止我必须做的是:for(i in length(List)) { length(List[[i]]) <- max(as.numeric(as.matrix(summary(List)[,1]))) } DF <- as.data.frame(List)
这似乎很愚蠢。