使用使用 paste0 和变量定义的列名的子集

FG7

我有一个像这样的 data.table:

dt <- data.table(asset=c("x1","x2","x3","x4","x5"),
                min_s1=c(.1,NA,NA,.1,NA),
                min_s2=c(NA,.5,.5,NA,NA),
                min_s3=c(.15,NA,NA,NA,.15))

我可以手动对 NA 值进行子集,如下所示,这给了我想要的输出:

empty1 <- dt[is.na(min_s1)]
empty2 <- dt[is.na(min_s2)]
empty3 <- dt[is.na(min_s3)]

但是,我真正需要做的是使用列名动态设置子集,并将结果命名为在循环中包含 i 变量。循环很重要,因为它最终将用于并行计算脚本。我想要这样的东西(它不起作用;只是显示我正在寻找的东西):

foreach (i in 1:3) %do% {
  empty(i) <- dt[is.na(min_s(i))]
}

我尝试使用以下及其许多变体无济于事:

paste0("empty",i) <- dt[is.na(paste0("min_s",i))]

任何想法我怎么能做到这一点?我使用的是 Windows 7 电脑。谢谢。

阿克伦

我们可以使用lapply数据集和子集遍历“min”列

lapply(dt[,-1, with =FALSE], function(x) dt[is.na(x)])
#$min_s1
#   asset min_s1 min_s2 min_s3
#1:    x2     NA    0.5     NA
#2:    x3     NA    0.5     NA
#3:    x5     NA     NA   0.15

#$min_s2
#   asset min_s1 min_s2 min_s3
#1:    x1    0.1     NA   0.15
#2:    x4    0.1     NA     NA
#3:    x5     NA     NA   0.15

#$min_s3
#   asset min_s1 min_s2 min_s3
#1:    x2     NA    0.5     NA
#2:    x3     NA    0.5     NA
#3:    x4    0.1     NA     NA

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一起使用startsWith和paste0

来自分类Dev

使用paste0突变列

来自分类Dev

使用 paste0 时转义斜线

来自分类Dev

如何使用 mtext() 和 paste0() 在 R 中更有效地进行多重标记?

来自分类Dev

在ggplot调用中通过paste0()引用变量

来自分类Dev

更改Paste0 Min Max以创建新的id变量

来自分类Dev

使用paste0()重命名列时应使用什么运算符?

来自分类Dev

如何将`I()`与`paste0`一起使用?

来自分类Dev

如何使用 paste0 更改 r 中多列的名称

来自分类Dev

data.table和.SDcols与paste0一起创建字符向量

来自分类Dev

paste0和ifelse作为dplyr中管道的一部分

来自分类Dev

如何在R中使用paste0()将列添加到数据帧列表中?

来自分类Dev

paste0() 函数中的 Html 标记作为 str_replace_all 中的替换使用 r

来自分类Dev

如何使用R中gplot()包中的plotmean()函数,使用paste0()处理n.label值以获得观察数

来自分类Dev

我可以更正R中对paste0()的使用,以便此函数像原始Python示例一样快地运行吗?

来自分类Dev

R:是否可以使用paste0函数(或某些类似函数)将存储在对象中的数据传递给新对象?

来自分类Dev

我可以更正我在R中对paste0()的使用,以便此函数像原始Python示例一样快地运行吗?

来自分类Dev

使用对 R 中列名的变量引用提取数据子集

来自分类Dev

paste0将“放在错误的位置

来自分类Dev

paste0()更改日期格式

来自分类Dev

使用dplyr创建仅为数据子集定义的新变量

来自分类Dev

错误消息找不到函数“ paste0” –

来自分类Dev

带有 paste0 的中缀 (%>%) 运算符

来自分类Dev

R mutate() 与 paste0() 一起工作

来自分类Dev

Stata:使用循环来保留和重整变量的子集

来自分类Dev

使用变量作为列名

来自分类Dev

使用选择表达式中列名的变量对 data.frame 进行子集

来自分类Dev

使用定义和变量之间的区别

来自分类Dev

在目标中定义和使用“变量”

Related 相关文章

  1. 1

    一起使用startsWith和paste0

  2. 2

    使用paste0突变列

  3. 3

    使用 paste0 时转义斜线

  4. 4

    如何使用 mtext() 和 paste0() 在 R 中更有效地进行多重标记?

  5. 5

    在ggplot调用中通过paste0()引用变量

  6. 6

    更改Paste0 Min Max以创建新的id变量

  7. 7

    使用paste0()重命名列时应使用什么运算符?

  8. 8

    如何将`I()`与`paste0`一起使用?

  9. 9

    如何使用 paste0 更改 r 中多列的名称

  10. 10

    data.table和.SDcols与paste0一起创建字符向量

  11. 11

    paste0和ifelse作为dplyr中管道的一部分

  12. 12

    如何在R中使用paste0()将列添加到数据帧列表中?

  13. 13

    paste0() 函数中的 Html 标记作为 str_replace_all 中的替换使用 r

  14. 14

    如何使用R中gplot()包中的plotmean()函数,使用paste0()处理n.label值以获得观察数

  15. 15

    我可以更正R中对paste0()的使用,以便此函数像原始Python示例一样快地运行吗?

  16. 16

    R:是否可以使用paste0函数(或某些类似函数)将存储在对象中的数据传递给新对象?

  17. 17

    我可以更正我在R中对paste0()的使用,以便此函数像原始Python示例一样快地运行吗?

  18. 18

    使用对 R 中列名的变量引用提取数据子集

  19. 19

    paste0将“放在错误的位置

  20. 20

    paste0()更改日期格式

  21. 21

    使用dplyr创建仅为数据子集定义的新变量

  22. 22

    错误消息找不到函数“ paste0” –

  23. 23

    带有 paste0 的中缀 (%>%) 运算符

  24. 24

    R mutate() 与 paste0() 一起工作

  25. 25

    Stata:使用循环来保留和重整变量的子集

  26. 26

    使用变量作为列名

  27. 27

    使用选择表达式中列名的变量对 data.frame 进行子集

  28. 28

    使用定义和变量之间的区别

  29. 29

    在目标中定义和使用“变量”

热门标签

归档