小编eAn*_*ndy的帖子

R如何识别最后一次出现的距离

我想计算一下发生了多长时间.

鉴于以下情况,您可以看到灯光在某些时间点亮,但并非在所有时间点亮.我想规范化数据以将其提供给神经网络.

library(data.table)
d<-data.table(
    date = c("6/1/2013", "6/2/2013","6/3/2013","6/4/2013"),
    light = c(TRUE,FALSE,FALSE,TRUE) 
)
d
       date light
1: 6/1/2013  TRUE
2: 6/2/2013 FALSE
3: 6/3/2013 FALSE
4: 6/4/2013  TRUE
Run Code Online (Sandbox Code Playgroud)

我想要计算的是另一列显示与最后一次出现的"距离".

所以对于上面的数据:第一行,因为它上面应该是零第二行,应该是第三行,应该是第二行,应该是零

r data.table

6
推荐指数
2
解决办法
212
查看次数

R data.table:电流测量之前发生的次数

我进行了几天的一系列测量。测量的数量通常为4。任何测量中可以捕获的数字范围为1-5(在现实生活中,给定测试集,该范围可以高达100或低至20)。

我想每天计算每个值在当天之前发生了多少次。

让我用一些示例数据进行解释:

# test data creation
d1 = list(as.Date("2013-5-4"),  4,2)
d2 = list(as.Date("2013-5-9"),  2,5)
d3 = list(as.Date("2013-5-16"), 3,2)
d4 = list(as.Date("2013-5-30"), 1,4)

d = rbind(d1,d2,d3,d4)
colnames(d) <- c("Date", "V1", "V2")

tt = as.data.table(d)
Run Code Online (Sandbox Code Playgroud)

我想运行一个函数,该函数将添加5列(在可能的值范围内,每个可能的值1个)。在每个列中,我都希望在测试日期之前计算该值的出现次数。

例如,2013-5-30的函数输出为C1=0, C2=3, C3=1, C4=1, C5=1

它计数了多少次:

1出现在之前且不包括5/30,为零
。2出现在之前且不包括5/30,这是三个
。3出现在之前且不包括5/30,这是一个
等。

此外,它还应包括一列,显示该数字占总测量值的百分比。例如5/30,在5/30之前有6次测量,因此

pc1 =(0/6),pc2 = 3/6,pc3 = 1/6,pc4 = 1/6,pc5 = 1/6

我想使用data.table分配符号(:=)将所有这些多列添加到一张照片中。我正在寻找的输出格式如下:

Date V1 V2 C1 PC1 C2 PC2 C3 PC3 C4 PC4 C5 PC5
Run Code Online (Sandbox Code Playgroud)

r function data.table

2
推荐指数
1
解决办法
1705
查看次数

如何重塑数据(使用列名称解析)

需要重塑一个data.frame

  TestID Machine1Measure Machine1Count Machine2Measure Machine2Count
1  10006              11            14              16            24
2  10007              23            27              32            35
Run Code Online (Sandbox Code Playgroud)

对此:

  TestID Machine Measure Count
1  10006       1      11    14
2  10006       2      16    24
3  10007       1      23    27
4  10007       2      32    35
Run Code Online (Sandbox Code Playgroud)

下面是创建每个的代码.看着R中的重塑,但无法弄清楚如何拆分名称

注意:这是列的子集 - 有70-140台机器.我怎样才能使这更简单?

b <-data.frame(10006:10007, matrix(c(11,23,14,27,16,32,24,35),2,4)) 
colnames(b) <- c("TestID", "Machine1Measure", "Machine1Count", "Machine2Measure", "Machine2Count") 

a<-data.frame(matrix(c(10006,10006,10007,10007,1,2,1,2,11,16,23,32,14,24,27,35),4,4)) 
colnames(a) <- c("TestID", "Machine", "Measure", "Count") 

b
a
Run Code Online (Sandbox Code Playgroud)

r reshape

0
推荐指数
1
解决办法
95
查看次数

标签 统计

r ×3

data.table ×2

function ×1

reshape ×1