在数据框

时间:2015-11-18 13:48:39

标签: r

我有一个如下所示的数据框:

            Sensor            NewValue           NewDate
1   iphone/NuhKZFrx/noise     1.00000      2015-10-20 23:26:14
2   iphone/NuhKZFrx/noiseS    58.63411     2015-10-20 23:26:14
3   iphone/wlhAlrPQ/noise     0.00000      2015-10-21 08:03:28
4   iphone/wlhAlrPQ/noiseS    65.26167     2015-10-21 08:03:28
[...]

具有以下数据类型:

'data.frame':   405 obs. of  3 variables:
 $ Sensor  : Factor w/ 28 levels "iphone/5mZU0HWz/noise",..: 11 12 23 24 9 10 23 24 21 22 ...
 $ NewValue: num  1 58.6 0 65.3 3 ...
 $ NewDate : POSIXct, format: "2015-10-20 23:26:13" "2015-10-20 23:26:14" "2015-10-21 08:03:28" "2015-10-21 08:03:28" .

传感器字段设置如下:<model>/<uniqueID>/<type>。我想知道在给定时间内每个noise的{​​{1}}和noiseS之间是否存在相关性。

对于单个uniqueID,它可以正常工作,因为只有两个因素。我尝试使用uniqueID,但这给了我零,因为任何时候每个ID都没有值......

我可以做些什么以某种方式构成因素,以便我只有xtabs(NewValue~NewDate+Sensor, data=dataNoises)的因子和noise的因子?或者有更简单的方法来解决这个问题吗?

我想做的是以下内容:

noiseS

然后计算噪声和噪声之间的皮尔森相关系数。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你只需要一个区分噪音和噪音的2级因子吗?

通过在数据框中定义新列并使用grepl()的输出填充它,可以轻松实现这一点。 MWE:

MultiPoint

这个两级因子可以让你构建一个简单的噪声均值模型(a <- "blahblahblahblahnoise" aa <- "blahblahblahblahnoiseS" b <- "noiseS" type <- vector() type[1] <- grepl(b, a) type[2] <- grepl(b, aa) type <- as.factor(type) )和noiseS(type[i]==FALSE),但不会让你评估类型之间的相关性给定UniqueID和时间。一种方法是使用type[i]==TRUEtype==FALSE为数据创建单独的列,其中行对应于特定的UniqueID +时间组合。在这种情况下,您需要仔细考虑您想要学习的内容以及何时假设数据是独立的。例如,如果您想了解噪声和噪声是否在给定的唯一ID的时间内相关,那么您需要为uniqueID创建一个单独的因子并将其作为效果包含在您的模型中(可能是随机效果,具体取决于您的目的和你的数据)。