R:有条件地应用于具有排除值的子集

美吉士

下面是我在R. “Ahas an assigned letter in列 B, and an assigned value in列 C. I want to add a列 Dthat records a ratio for each observation in列 A ”中的每个观察结果以下是观察值“1”的比率计算示例。

对于“1”的每次观察,我想计算出现在表中但未分配给“1”的所有x。在这种情况下,计数为 2,因为有两个 X 分配给观察“3”。除了上述条件之外,我还想计算未分配给观察“1”的 X值大于 6column C. 计数为 1,因为分配给“3”的两个 X 之一的值大于 6 column C因此,在 中column D,每个观测值“1”的比率为 1 比 2:1/2。

我也想为 Y's incolumn B做。

data_table
Column A   Column B  Column C
 1           X         7
 1           X         8
 1           X         3
 1           X         3
 2           Y         3
 2           Y         8
 3           X         5
 3           X         7
 4           Y         6
 4           Y         7
 4           Y         8

我希望结果表如下所示:

Column A  Column B  Column C Column D
 1           X         7      1/2     #There are two x's assigned to "3", and one of which has a value greater than 6 in column C.
 1           X         8      1/2
 1           X         3      1/2
 1           X         3      1/2
 2           Y         3      2/3
 2           Y         8      2/3
 3           X         5      2/4
 3           X         7      2/4
 4           Y         6      1/2
 4           Y         7      1/2
 4           Y         8      1/2

这是我到目前为止提出的代码,但是对于 中的每个观察column A,我未能生成nrow跳过分配给该观察的X 的计数

    final_df %>% group_by(column_B) %>% 
    mutate(ratio = nrow(filter(final_df, column_C>6))/nrow(final_df))

关于如何修改它以column A在计算值大于 6 (in column C)的 X 的比例时从特定观察 ( ) 中排除 X 的任何建议

谢谢!

kng229

像这样简单的东西怎么样?

## Simulate some data
id1 <- rep(round(runif(250, 0,1)*100000000),each=4)
id2 <- rep(round(runif(50, 0,1)*100000000),each=4)
id2 <- rep(id2, each=5)
value <- rnorm(1000, mean=6, sd=2)
df <- data.frame(id1, id2, value)

## Calculate using a loop
output <- data.frame(id1, id2, prop=NA)
output <- output[!duplicated(output),]
for(i in 1:nrow(output)){
    gt6 <- sum(df$value[df$id2!=output$id2[i]]>6)
    tot <- sum(df$id2!=output$id2[i])
    output$prop[i] <- gt6/tot
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有条件地比较值

来自分类Dev

C#-从app.config中有条件地将属性应用于方法

来自分类Dev

ext js有条件地将监听器应用于componenet

来自分类Dev

如何有条件地将样式应用于Kendo UI网格“行”?

来自分类Dev

Numpy布尔索引掩码,用于有条件地减去现有值

来自分类Dev

有条件地使用is.null()子集r data.table

来自分类Dev

有条件地将CSS应用于分组的按钮栏

来自分类Dev

RxJava:如何有条件地将运算符应用于Observable而不中断链

来自分类Dev

AngularJs有条件地将自定义指令应用于HTML

来自分类Dev

r:有条件地替换列子集中的值

来自分类Dev

通过有条件地将值传递给iloc来子集数据帧

来自分类Dev

有条件地排除块

来自分类Dev

根据组件的使用位置,有条件地将className应用于react组件

来自分类Dev

有条件地将CSS类应用于Angular组件宿主

来自分类Dev

根据名称有条件地将rbind或bind_rows应用于列表

来自分类Dev

grep / awk:有条件地排除单词

来自分类Dev

如何在React中有条件地将布局应用于组件

来自分类Dev

将函数应用于多列以有条件地更改观察值

来自分类Dev

有条件地将类应用于列表Vue.js 3.0中的特定项目

来自分类Dev

如何有条件地将样式颜色应用于活动选项卡

来自分类Dev

通过有条件地将值传递给iloc来子集数据帧

来自分类Dev

有条件地在R中子集数据帧列表

来自分类Dev

具有条件的不同值

来自分类Dev

有条件地将两个函数之一应用于一个参数

来自分类Dev

有条件地将ng-repeat应用于CSS吗?

来自分类Dev

有条件地在R中命名值

来自分类Dev

根据字符串子集有条件地填充缺失值

来自分类Dev

有条件地应用 CSS

来自分类Dev

有条件地将 CSS 应用于没有 JavaScript 的最后一个列表项

Related 相关文章

  1. 1

    有条件地比较值

  2. 2

    C#-从app.config中有条件地将属性应用于方法

  3. 3

    ext js有条件地将监听器应用于componenet

  4. 4

    如何有条件地将样式应用于Kendo UI网格“行”?

  5. 5

    Numpy布尔索引掩码,用于有条件地减去现有值

  6. 6

    有条件地使用is.null()子集r data.table

  7. 7

    有条件地将CSS应用于分组的按钮栏

  8. 8

    RxJava:如何有条件地将运算符应用于Observable而不中断链

  9. 9

    AngularJs有条件地将自定义指令应用于HTML

  10. 10

    r:有条件地替换列子集中的值

  11. 11

    通过有条件地将值传递给iloc来子集数据帧

  12. 12

    有条件地排除块

  13. 13

    根据组件的使用位置,有条件地将className应用于react组件

  14. 14

    有条件地将CSS类应用于Angular组件宿主

  15. 15

    根据名称有条件地将rbind或bind_rows应用于列表

  16. 16

    grep / awk:有条件地排除单词

  17. 17

    如何在React中有条件地将布局应用于组件

  18. 18

    将函数应用于多列以有条件地更改观察值

  19. 19

    有条件地将类应用于列表Vue.js 3.0中的特定项目

  20. 20

    如何有条件地将样式颜色应用于活动选项卡

  21. 21

    通过有条件地将值传递给iloc来子集数据帧

  22. 22

    有条件地在R中子集数据帧列表

  23. 23

    具有条件的不同值

  24. 24

    有条件地将两个函数之一应用于一个参数

  25. 25

    有条件地将ng-repeat应用于CSS吗?

  26. 26

    有条件地在R中命名值

  27. 27

    根据字符串子集有条件地填充缺失值

  28. 28

    有条件地应用 CSS

  29. 29

    有条件地将 CSS 应用于没有 JavaScript 的最后一个列表项

热门标签

归档