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

鲍比

给定DF下面的data.table,我想选择编号为6的组的第一行以外的所有行8有人告诉我应该使用paste0( )我有一个解决方案可以提供预期的结果,但是没有paste0( )

DF <- data.table(grp=c(6,6,8,8,8), Q1=c(2,2,3,5,2), Q2=c(5,5,4,4,1), Q3=c(2,1,4,2,4), H1=c(3,4,5,2,4), H2=c(5,2,4,1,2) )

所需结果:

desired_result <- data.table(grp=c(6,8,8), Q1=c(2,4,2), Q2=c(5,4,1), Q3=c(1,2,4) )

一种实现此结果的方法:

DF[ , .SD[-1], .SDcols = c("Q1", "Q2", "Q3"), by = grp]

我该如何使用paste0( )而不是c( )这些功能之一或仅工作一个的示例是否有任何优势?

mo

此方法似乎有效:

DF[ , .SD, .SDcols = paste0("Q", 1:3), by = grp]

   grp Q1 Q2 Q3
1:   6  2  5  2
2:   6  2  5  1
3:   8  3  4  4
4:   8  5  4  2
5:   8  2  1  4

将一种方法与另一种方法进行比较。

all.equal(DF[ , .SD, .SDcols = c("Q1", "Q2", "Q3"), by = grp],
          DF[ , .SD, .SDcols = paste0("Q", 1:3), by = grp])
[1] TRUE

请注意,.SDcols选择列与删除每个组的第一行无关。.SDcols可以采用一个字符向量,并paste0产生字符向量,因此选择列可以以任何一种方式工作。


删除每组第一行的一种方法是tail轻巧地包含以下paste0功能:

DF[ , tail(.SD, -1), .SDcols = paste0("Q", 1:3), by = grp]
   grp Q1 Q2 Q3
1:   6  2  5  1
2:   8  5  4  2
3:   8  2  1  4

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一起使用startsWith和paste0

来自分类Dev

在data.table中混合by和.SDcols

来自分类Dev

在data.table中使用:=和paste()

来自分类Dev

数字向量和到data.table的索引

来自分类Dev

扩展data.table以创建分组的主体和别名组合

来自分类Dev

R: Speed up combine(paste or paste0) operation for 39 millions rows and two columns in data.table

来自分类Dev

data.table:基于指示器列的值和名称创建新的字符列

来自分类Dev

data.table和列名

来自分类Dev

使用垂直条件和data.table创建一个新列

来自分类Dev

r data.table条件和引用/从另一个单独的data.table执行查询

来自分类Dev

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

来自分类Dev

使用函数的字符名称和参数作为字符向量将函数应用于data.table

来自分类Dev

在data.table中结合向量和二进制搜索

来自分类Dev

在data.table中将向量和二进制搜索相结合

来自分类Dev

一起使用spring-data-mongodb和spring-data-neo4j

来自分类Dev

如何在data.table中创建均值和标准差列

来自分类Dev

如何使用data.table创建均值和sd列(基于多个条件)

来自分类Dev

如何将整数交织元素和字符的向量连接在一起?

来自分类Dev

如何将整数交织元素和字符的向量连接在一起?

来自分类Dev

R data.table-整数/数字和字符列的不同联接行为

来自分类Dev

从data.table r中的字符串中提取年和周

来自分类Dev

合并一个data.table和一个列表

来自分类Dev

data.table:merge()一键表和两键表

来自分类Dev

在一个data.table调用中使用`.`语法和`with = FALSE`

来自分类Dev

data.table过滤器和计数唯一性

来自分类Dev

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

来自分类Dev

data.table:merge()一键表和两键表

来自分类Dev

data.table列名和变量定义

来自分类Dev

data.table 1.8.11和汇总问题

Related 相关文章

  1. 1

    一起使用startsWith和paste0

  2. 2

    在data.table中混合by和.SDcols

  3. 3

    在data.table中使用:=和paste()

  4. 4

    数字向量和到data.table的索引

  5. 5

    扩展data.table以创建分组的主体和别名组合

  6. 6

    R: Speed up combine(paste or paste0) operation for 39 millions rows and two columns in data.table

  7. 7

    data.table:基于指示器列的值和名称创建新的字符列

  8. 8

    data.table和列名

  9. 9

    使用垂直条件和data.table创建一个新列

  10. 10

    r data.table条件和引用/从另一个单独的data.table执行查询

  11. 11

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

  12. 12

    使用函数的字符名称和参数作为字符向量将函数应用于data.table

  13. 13

    在data.table中结合向量和二进制搜索

  14. 14

    在data.table中将向量和二进制搜索相结合

  15. 15

    一起使用spring-data-mongodb和spring-data-neo4j

  16. 16

    如何在data.table中创建均值和标准差列

  17. 17

    如何使用data.table创建均值和sd列(基于多个条件)

  18. 18

    如何将整数交织元素和字符的向量连接在一起?

  19. 19

    如何将整数交织元素和字符的向量连接在一起?

  20. 20

    R data.table-整数/数字和字符列的不同联接行为

  21. 21

    从data.table r中的字符串中提取年和周

  22. 22

    合并一个data.table和一个列表

  23. 23

    data.table:merge()一键表和两键表

  24. 24

    在一个data.table调用中使用`.`语法和`with = FALSE`

  25. 25

    data.table过滤器和计数唯一性

  26. 26

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

  27. 27

    data.table:merge()一键表和两键表

  28. 28

    data.table列名和变量定义

  29. 29

    data.table 1.8.11和汇总问题

热门标签

归档