我有一个如下所示的数据框:
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
然后计算噪声和噪声之间的皮尔森相关系数。
答案 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]==TRUE
和type==FALSE
为数据创建单独的列,其中行对应于特定的UniqueID +时间组合。在这种情况下,您需要仔细考虑您想要学习的内容以及何时假设数据是独立的。例如,如果您想了解噪声和噪声是否在给定的唯一ID的时间内相关,那么您需要为uniqueID创建一个单独的因子并将其作为效果包含在您的模型中(可能是随机效果,具体取决于您的目的和你的数据)。