按顺序对数据帧中的一系列行应用匹配和替换功能

Panstotts

起始数据框

data_start <- data.frame(marker = c("yes","yes","no","yes","no"),
                         id_out = c(5,3,1,1,7), 
                         id_new = c(6,8,9,4,2))

> data_start
  marker id_out id_new
1    yes      5      6
2    yes      3      8
3     no      1      9
4    yes      1      4
5     no      7      2

在下面添加三个带有空列的列标题。附加起始值var1:var3

data_start[,c("var1", "var2", "var3")] <- NA
vars <- c(5,3,1)
data_start[1, 4:6] <- vars

> data_start
  marker id_out id_new var1 var2 var3
1    yes      5      6    5    3    1
2    yes      3      8   NA   NA   NA
3     no      1      9   NA   NA   NA
4    yes      1      4   NA   NA   NA
5     no      7      2   NA   NA   NA

我想更新我的var1:var3应用功能,以每一行,其中IF列marker= yesANDid_out任何比赛var1:var3,取代任何的var1:var3id_new我找到了这种解决方案,但是只适用于一行代码,仍然需要var1:var3更新该行的每个新部分。

data_start[1, 4:6][data_start[1, 4:6] == data_start[1,"id_out"]] <- data_start[1,"id_new"]

每行还取决于在再次应用该功能之前使用上一行中的值。

最终输出看起来像这样,其中当marker =时,行保持不变,no并且随后更新每行。

> data_final
  marker id_out id_new var1 var2 var3
1    yes      5      6    6    3    1
2    yes      3      8    6    8    1
3     no      1      9    6    8    1
4    yes      1      4    6    8    4
5     no      7      2    6    8    4
s-海因斯

这可以与任意数量的列一起使用,并且可以与基数R一起使用:

cols <- c("var1", "var2", "var3")

for(j in 1:length(cols)) {
  var <- cols[j]
  for(i in 1:nrow(data_start)){
    if(i > 1) {
      data_start[i, var] <- data_start[i-1, var]
    }
    if(data_start[i, "marker"] == "yes" & data_start[i, var] == data_start[i,"id_out"]) {
      data_start[i,var] <- data_start[i, "id_new"]
    } 
  }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一系列功能应用于数据

来自分类Dev

如何通过基于名称而不是索引选择一系列列和行来对数据帧进行切片?

来自分类Dev

替换文件中的一系列新行

来自分类Dev

在 perl 中搜索和删除一系列行

来自分类Dev

熊猫:使用数据框和一系列数据按行计算加权平均值

来自分类Dev

按顺序打印一系列unicode字符

来自分类Dev

如何从数据帧每一行的一系列数字中选择特定值

来自分类Dev

对数据框中的列执行一系列的突变

来自分类Dev

JQuery:使数组中的一系列字符串按顺序淡入淡出

来自分类Dev

在clojure中,对数据执行一系列测试功能的惯用方式是什么,每种功能都有副作用?

来自分类Dev

合并和合并一系列数据帧

来自分类Dev

一系列 JSON 对象到数据帧的转换

来自分类Dev

将多个类别值分配给r中的一系列数据帧变量

来自分类Dev

如何基于一系列if \ else条件和匹配值从多个数据帧中最佳提取信息?(需要指导!)

来自分类Dev

查找与一系列值匹配的行

来自分类Dev

如何仅在一系列列中查找和替换?

来自分类Dev

在多个文件中按行号打印一系列行

来自分类Dev

如何按熊猫中的一系列值分组?

来自分类Dev

如何在Node.js中执行一系列同步和异步功能

来自分类Dev

在DigitalMicrograph脚本中定义一系列功能

来自分类Dev

如何在Django中迭代一系列功能?

来自分类Dev

从熊猫框架中的一系列数据中找出值和日期

来自分类Dev

Vim替换一系列数字

来自分类Dev

将 Spark 数据帧 Groupby 转换为一系列数据帧

来自分类Dev

从 jquery 中的一系列值中获取数据

来自分类Dev

NSOperation管理一系列功能

来自分类Dev

如何根据一系列递增的非连续数字向R中的数据帧添加唯一ID

来自分类Dev

在Highcharts中动态更改一系列数据

来自分类Dev

重塑R中的一系列重复数据

Related 相关文章

  1. 1

    将一系列功能应用于数据

  2. 2

    如何通过基于名称而不是索引选择一系列列和行来对数据帧进行切片?

  3. 3

    替换文件中的一系列新行

  4. 4

    在 perl 中搜索和删除一系列行

  5. 5

    熊猫:使用数据框和一系列数据按行计算加权平均值

  6. 6

    按顺序打印一系列unicode字符

  7. 7

    如何从数据帧每一行的一系列数字中选择特定值

  8. 8

    对数据框中的列执行一系列的突变

  9. 9

    JQuery:使数组中的一系列字符串按顺序淡入淡出

  10. 10

    在clojure中,对数据执行一系列测试功能的惯用方式是什么,每种功能都有副作用?

  11. 11

    合并和合并一系列数据帧

  12. 12

    一系列 JSON 对象到数据帧的转换

  13. 13

    将多个类别值分配给r中的一系列数据帧变量

  14. 14

    如何基于一系列if \ else条件和匹配值从多个数据帧中最佳提取信息?(需要指导!)

  15. 15

    查找与一系列值匹配的行

  16. 16

    如何仅在一系列列中查找和替换?

  17. 17

    在多个文件中按行号打印一系列行

  18. 18

    如何按熊猫中的一系列值分组?

  19. 19

    如何在Node.js中执行一系列同步和异步功能

  20. 20

    在DigitalMicrograph脚本中定义一系列功能

  21. 21

    如何在Django中迭代一系列功能?

  22. 22

    从熊猫框架中的一系列数据中找出值和日期

  23. 23

    Vim替换一系列数字

  24. 24

    将 Spark 数据帧 Groupby 转换为一系列数据帧

  25. 25

    从 jquery 中的一系列值中获取数据

  26. 26

    NSOperation管理一系列功能

  27. 27

    如何根据一系列递增的非连续数字向R中的数据帧添加唯一ID

  28. 28

    在Highcharts中动态更改一系列数据

  29. 29

    重塑R中的一系列重复数据

热门标签

归档