r中纵向数据的时间索引为条件的操作

鲍勃

我有一些以纵向格式组织的数据,即

id <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4)
time=rep(c(1990, 1995, 2000,2005), 4)
w = runif(16, min=0, max=1)
u = runif(16, min=0, max=0.5)
dat <- cbind(id,time,w,u)
dat
id time         w         u
1 1990 0.6550168 0.2114829
1 1995 0.9669285 0.2253474
1 2000 0.8879138 0.2733263
1 2005 0.1079913 0.4452164
2 1990 0.1483843 0.1949214
2 1995 0.7599596 0.1632965
2 2000 0.7119100 0.3600129
2 2005 0.4164409 0.2456366
3 1990 0.7881798 0.3233312
3 1995 0.8627986 0.1180433
3 2000 0.3253139 0.3491878
3 2005 0.2560138 0.3193816
4 1990 0.2062351 0.3485047
4 1995 0.4145230 0.1413814
4 2000 0.3053510 0.1782681
4 2005 0.7419894 0.3738163

我需要计算B如下

乙

其中t和s表示时间。我尝试使用两个索引进行循环ij但没有输出。然后我尝试了不同的方法,例如

B.small = list()
for (r in c(1975, 1980, 1985, 1990, 1995, 2000, 2005, 2010)){
     B.small = (set$w[set$year ==r, ]%*% t(set$w)%*%set$u[set$year ==r, ]*set$u)/n
}
B = sum(B.Small)/n

Error in set$u[set$year == r, ] : incorrect number of dimensions

B必须是标量。我猜必须有一个替代方案,也不要使用循环

尼古拉

也许我对您的公式不太了解,并且可以肯定会有更好的方法,但是我会尝试:

    #split the matrix by year
    splitDT<-split(as.data.frame(dat[,3:4]),dat[,2])
    #build any combinations of indices of year
    indices<-expand.grid(1:length(splitDT),1:length(splitDT))
    #evaluate the mean of each combination and put in a matrix
    res<-matrix(mapply(function(x,y) mean(splitDT[[x]]$u*splitDT[[y]]$u*splitDT[[x]]$w*splitDT[[y]]$w),
                       indices[,1],indices[,2]),
                ncol=length(splitDT))
    #get the result
    sum(res)/ncol(res)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

以1级索引为条件,从多索引数据帧中快速删除行

来自分类Dev

以1级索引为条件,从多索引数据帧中快速删除行

来自分类Dev

无法在索引为日期时间的数据框中插入一行

来自分类Dev

用于纵向数据的R条件变量

来自分类Dev

如何在R中绘制纵向数据

来自分类Dev

如何在纵向数据中创建行/主题索引

来自分类Dev

删除纵向数据中的不连续时间点

来自分类Dev

基于匹配,时间,响应和分组信息,将新列添加到R中的纵向数据中。

来自分类Dev

从以索引为键的数据框创建字典

来自分类Dev

根据业务日期索引为数据框中的多列输入缺失的日期

来自分类Dev

在R中操纵向量和数据帧

来自分类Dev

从 R 中的 igraph 对象列表创建纵向数据

来自分类Dev

数据框获取索引为日期时间类型的两个行位置之间的值列表

来自分类Dev

索引为日期时间时如何访问字典?

来自分类Dev

Python 3索引为len(l)条件评估错误

来自分类Dev

R中的条件列表索引

来自分类Dev

R中的条件列表索引

来自分类Dev

在r中将具有时间变量的纵向数据从宽格式转换为长格式

来自分类Dev

返回列表中的索引,直到没有索引为止

来自分类Dev

jQuery数据表columnDefs以名称而非索引为目标

来自分类Dev

python数据帧中的日期时间索引

来自分类Dev

R:查找多个条件的数据帧索引

来自分类Dev

PostgreSQL数据库中的条件索引

来自分类Dev

ng-options中的偏移索引为1

来自分类Dev

通过索引为数组列表中的项目分配值

来自分类Dev

如何从索引为N的倍数的数组中删除项目

来自分类Dev

有条件地编辑时间日期索引,检查数据框中的上一条记录

来自分类Dev

removeobjectAtIndex:使索引为-1;

来自分类Dev

熊猫数据框中的行的条件操作

Related 相关文章

  1. 1

    以1级索引为条件,从多索引数据帧中快速删除行

  2. 2

    以1级索引为条件,从多索引数据帧中快速删除行

  3. 3

    无法在索引为日期时间的数据框中插入一行

  4. 4

    用于纵向数据的R条件变量

  5. 5

    如何在R中绘制纵向数据

  6. 6

    如何在纵向数据中创建行/主题索引

  7. 7

    删除纵向数据中的不连续时间点

  8. 8

    基于匹配,时间,响应和分组信息,将新列添加到R中的纵向数据中。

  9. 9

    从以索引为键的数据框创建字典

  10. 10

    根据业务日期索引为数据框中的多列输入缺失的日期

  11. 11

    在R中操纵向量和数据帧

  12. 12

    从 R 中的 igraph 对象列表创建纵向数据

  13. 13

    数据框获取索引为日期时间类型的两个行位置之间的值列表

  14. 14

    索引为日期时间时如何访问字典?

  15. 15

    Python 3索引为len(l)条件评估错误

  16. 16

    R中的条件列表索引

  17. 17

    R中的条件列表索引

  18. 18

    在r中将具有时间变量的纵向数据从宽格式转换为长格式

  19. 19

    返回列表中的索引,直到没有索引为止

  20. 20

    jQuery数据表columnDefs以名称而非索引为目标

  21. 21

    python数据帧中的日期时间索引

  22. 22

    R:查找多个条件的数据帧索引

  23. 23

    PostgreSQL数据库中的条件索引

  24. 24

    ng-options中的偏移索引为1

  25. 25

    通过索引为数组列表中的项目分配值

  26. 26

    如何从索引为N的倍数的数组中删除项目

  27. 27

    有条件地编辑时间日期索引,检查数据框中的上一条记录

  28. 28

    removeobjectAtIndex:使索引为-1;

  29. 29

    熊猫数据框中的行的条件操作

热门标签

归档