data.table列名和变量定义

Ben

如何创建data.table列,其名称和列定义由变量确定?

就我而言,我的data.table看起来像

dt <- data.table(DeltaPaid = c(1,2,4,8))
dt
   DeltaPaid
1:         1
2:         2
3:         4
4:         8

现在,如果将变量cap作为3传递。

cap <- 3
dt[, DeltaPaid.capped.3:=pmin(3, DeltaPaid)]

dt
   DeltaPaid DeltaPaid.capped.3
1:         1                  1
2:         2                  2
3:         4                  3
4:         8                  3

换句话说,我希望列名称为paste("DeltaPaid.capped.",cap,sep=""),列定义为paste(":=pmin(",cap,", DeltaPaid)",sep="")

我试过了

dt <- data.table(DeltaPaid = c(1,2,4,8))
cap <- 3
expr <- paste("DeltaPaid.capped.",cap,":=pmin(",cap,", DeltaPaid)",sep="")
dt[, eval(expr)]

没有运气。

我也已经阅读并阅读了这个问题,但是无法获得该解决方案对我有用。

红外光谱
> dt[, paste("cap", names(dt), sep=""):= pmin(3, DeltaPaid)]
> dt
   DeltaPaid capDeltaPaid
1:         1            1
2:         2            2
3:         4            3
4:         8            3

如果这是针对多个列的,则对“内部图像”(或.SD可能的真实名称用lapply实施的相同策略

> dt[, paste("cap", names(dt), sep=""):= lapply(.SD, function(x) {pmin(3, x)})]
> dt
   DeltaPaid capDeltaPaid capcapDeltaPaid
1:         1            1               1
2:         2            2               2
3:         4            3               3
4:         8            3               3
> dt[, paste("cap", names(dt), sep=""):= lapply(.SD, function(x) {pmin(3, x)})]
> dt
   DeltaPaid capDeltaPaid capcapDeltaPaid capcapcapDeltaPaid
1:         1            1               1                  1
2:         2            2               2                  2
3:         4            3               3                  3
4:         8            3               3                  3

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

data.table和列名

来自分类Dev

使用不等式和变量列名过滤data.table

来自分类Dev

在data.table中分配变量列名称

来自分类Dev

使用变量在`data.table`中指定列名

来自分类Dev

是否可以以R中的变量形式在data.table中的列名上传递变量

来自分类Dev

data.table:在不知道列名的情况下创建条件变量的正确方法?

来自分类Dev

使用全局变量作为列名时使用data.table更新列

来自分类Dev

如何将列名作为变量传递给R中的data.table?

来自分类Dev

通过 data.table 中的变量列名访问 - 错误:“无法更改“.SD”的锁定绑定值

来自分类Dev

将变量和名称传递给data.table函数

来自分类Dev

将data.table和变量传递给函数

来自分类Dev

如何在data.table中选择具有动态确定的列名和截止限制的行?

来自分类Dev

Learning data.table-如何通过行号和列名更新值

来自分类Dev

在data.table中的j表达式中评估列名和目标值

来自分类Dev

R-将列名传递到data.table公式中-get和eval之间的区别

来自分类Dev

动态(在i,j和by中)分配/引用data.table中的列名

来自分类Dev

data.table 语法通过 tstrsplit 根据其他表中的值设置列名和值

来自分类Dev

data.table如何从j获取列名?

来自分类Dev

按列名的data.table操作

来自分类Dev

计算data.table中的多个列名

来自分类Dev

R Data.Table重塑按列名

来自分类Dev

data.table联接中的列名标签

来自分类Dev

data.table切换列名

来自分类Dev

当在其他地方预定义了列名时,R data.table在条件子集下苦苦挣扎

来自分类Dev

根据先前的值和data.table中的另一个变量填充变量

来自分类Dev

在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

来自分类Dev

具有多个变量输入的R自定义data.table函数

来自分类Dev

通过在data.table中按时间间隔进行逻辑子集定义变量

来自分类Dev

使用data.table中的set()强制先前定义的变量

Related 相关文章

  1. 1

    data.table和列名

  2. 2

    使用不等式和变量列名过滤data.table

  3. 3

    在data.table中分配变量列名称

  4. 4

    使用变量在`data.table`中指定列名

  5. 5

    是否可以以R中的变量形式在data.table中的列名上传递变量

  6. 6

    data.table:在不知道列名的情况下创建条件变量的正确方法?

  7. 7

    使用全局变量作为列名时使用data.table更新列

  8. 8

    如何将列名作为变量传递给R中的data.table?

  9. 9

    通过 data.table 中的变量列名访问 - 错误:“无法更改“.SD”的锁定绑定值

  10. 10

    将变量和名称传递给data.table函数

  11. 11

    将data.table和变量传递给函数

  12. 12

    如何在data.table中选择具有动态确定的列名和截止限制的行?

  13. 13

    Learning data.table-如何通过行号和列名更新值

  14. 14

    在data.table中的j表达式中评估列名和目标值

  15. 15

    R-将列名传递到data.table公式中-get和eval之间的区别

  16. 16

    动态(在i,j和by中)分配/引用data.table中的列名

  17. 17

    data.table 语法通过 tstrsplit 根据其他表中的值设置列名和值

  18. 18

    data.table如何从j获取列名?

  19. 19

    按列名的data.table操作

  20. 20

    计算data.table中的多个列名

  21. 21

    R Data.Table重塑按列名

  22. 22

    data.table联接中的列名标签

  23. 23

    data.table切换列名

  24. 24

    当在其他地方预定义了列名时,R data.table在条件子集下苦苦挣扎

  25. 25

    根据先前的值和data.table中的另一个变量填充变量

  26. 26

    在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

  27. 27

    具有多个变量输入的R自定义data.table函数

  28. 28

    通过在data.table中按时间间隔进行逻辑子集定义变量

  29. 29

    使用data.table中的set()强制先前定义的变量

热门标签

归档