我是R编程的新手,我正在寻找下一个问题的建议。
我有一个包含可变数量数据帧的列表,要进行上下文化,假设我们有“ n”个传感器,并且所有数据都包含在包含“ n”个数据帧的列表中,其中每个数据帧包含10个变量提供这些传感器。
首先,我拥有的数据位于具有以下结构的数据框中:
head(rawData, 3)
EmailUsuario Fecha Hcho Humidity Latitude Longitude NombreUsuario Pm25 SensorName Temperature
1 null Fri Feb 01 2019 10:40:51 GMT-0300 (CLST) null null -34.42584 -72.03271 null 40 C08 null
2 null Fri Feb 01 2019 10:40:56 GMT-0300 (CLST) null null -34.42584 -72.03271 null 35 C08 null
3 null Fri Feb 01 2019 10:41:01 GMT-0300 (CLST) null null -34.42642 -72.03216 null 35 C08 null
在此数据框中找到了所有传感器,在SensorName列中仅观察到一个传感器“ C08”,但该列中的传感器数目可变。
接下来我要做的是创建一个列表,其中包含所有数据帧,但由传感器分隔。
n <- levels(rawData$SensorName) # sensor names vectors
s <- split(x = rawData, f = rawData$SensorName) # List of DFs per sensor
如果我查看“ s”列表中的第二个元素,则会得到以下数据框:
head(s[[2]], 3)
EmailUsuario Fecha Hcho Humidity Latitude Longitude NombreUsuario Pm25 SensorName Temperature
560 null Wed Feb 06 2019 14:49:17 GMT+0000 (GMT) null null -70.6667 -33.45 null 12 C17 null
561 null Wed Feb 06 2019 14:49:22 GMT+0000 (GMT) null null -70.6667 -33.45 null 12 C17 null
562 null Wed Feb 06 2019 14:49:27 GMT+0000 (GMT) null null -70.6667 -33.45 null 9 C17 null
您可以看到它对应于传感器“ C17”。
现在,我想要的是例如创建一个新的数据框,但仅使用“ s”列表中包含的所有数据框的一些变量(列)。在这种情况下,我想创建一个数据框,其中列的名称等于传感器的名称,并且列的值等于该传感器的列``Pm25''的值。这样我就可以处理这些数据。
这种方法好吗?您推荐什么解决方案?您推荐其他解决方案吗?
谢谢