R:按名称范围对数据框列进行索引

潘曼

我有大量的巨大数据帧。通常在这些数据框中,我会按顺序出现具有相似名称的列组。以下是此类数据框的简化版本:

> tmp <- data.frame(ID = 1:25,
    Item1 = sample(x = 1:4, size = 25, replace = TRUE),
    Item2 = sample(x = 1:4, size = 25, replace = TRUE),
    Item3 = sample(x = 1:4, size = 25, replace = TRUE),
    Item4 = sample(x = 1:4, size = 25, replace = TRUE),
    Item5 = sample(x = 1:4, size = 25, replace = TRUE),
    Item6 = sample(x = 1:4, size = 25, replace = TRUE),
    Item7 = sample(x = 1:4, size = 25, replace = TRUE),
    Quest = rep(x = 20, times = 25))

我需要找到一种通过名称范围而不是位置索引这些列的方法说我需要将列从索引Item4Item7我可以执行以下操作:

> tmp[ , c("Item4", "Item5", "Item6", "Item7")]

当您有数百个名称相似的列时,效果会不太好。我想做类似的事情:

> tmp[ , c("Item4":"Item7")]

但这会引发错误:

Error in "Item1":"Item7" : NA/NaN argument
In addition: Warning messages:
1: In `[.data.frame`(tmp, , c("Item1":"Item7")) :
  NAs introduced by coercion
2: In `[.data.frame`(tmp, , c("Item1":"Item7")) :
  NAs introduced by coercion

此外,我想使用这种索引来操作列的属性,例如(使用列出所有列名称的前一种方法)

> labels.Item4to7 <- c("Disagree", "Somewhat disagree",
  "Somewhat agree", "Agree")
> tmp[ , c("Item4", "Item5", "Item6", "Item7")] <- lapply(tmp[ , c("Item4",
  "Item5", "Item6", "Item7")], factor, labels = labels.Item4to7)

但是将列名称范围定义为Item4:Item7

先感谢您。

费德里科·德拉科利纳

使用功能

tmp[,which(names(tmp)=="Item4"):which(names(tmp)=="Item7")]

可以通过以下方法将项目4更改为7:

labels.Item4to7 <- c("Disagree", "Somewhat disagree",
  "Somewhat agree", "Agree")
tmp[,which(names(tmp)=="Item4"):which(names(tmp)=="Item7")]<-
   lapply(tmp[,which(names(tmp)=="Item4"):which(names(tmp)=="Item7")],
   factor,labels=labels.Item4to7)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何按索引对数据框的列进行排名?熊猫

来自分类Dev

按索引对数据框进行排序

来自分类Dev

按R中的ALL列对数据框进行排序

来自分类Dev

按R中的ALL列对数据框进行排序

来自分类Dev

按列对数据框进行排序

来自分类Dev

按列对数据框进行排序

来自分类Dev

如何按字母顺序按索引值对数据框的列进行排序

来自分类Dev

按列重新分配索引对数据框进行排序

来自分类Dev

按列值对数据框中具有相同索引的值进行排序

来自分类Dev

如何按行中的名称对数据框进行排序?

来自分类Dev

Pandas:按第二个数据框排序索引对数据框列进行排序

来自分类Dev

按R中的多个列(一组较大的列)对数据框进行排序

来自分类Dev

按R中的列组长度对数据框进行排序

来自分类Dev

按包含特定值R的列对数据框进行分组

来自分类Dev

按 R 中的最小列值对数据框列表进行排序

来自分类Dev

按字符和日期列对数据框进行排序

来自分类Dev

按多列对数据框进行排序

来自分类Dev

按因子对数据框列进行排序

来自分类Dev

按因子对数据框列进行排序

来自分类Dev

按字符和日期列对数据框进行排序

来自分类Dev

按数字列对数据框进行排序

来自分类Dev

按列对数据框中的某些行进行排序

来自分类Dev

按名称然后按日期对数据框进行排序,同时保持名称排序

来自分类Dev

如何按R中的列名对数据框进行排序?

来自分类Dev

按数字对数据框进行排序

来自分类Dev

如何按R中每列的最后一个值对数据框中的列进行重新排序

来自分类Dev

按日期(包括列标题)对数据框列进行分组,并总结 R 中 1 和 0 的实例

来自分类Dev

R:按列的最常用值对数据进行排序

来自分类Dev

在R中逐行对数据框的列进行重新排序

Related 相关文章

  1. 1

    如何按索引对数据框的列进行排名?熊猫

  2. 2

    按索引对数据框进行排序

  3. 3

    按R中的ALL列对数据框进行排序

  4. 4

    按R中的ALL列对数据框进行排序

  5. 5

    按列对数据框进行排序

  6. 6

    按列对数据框进行排序

  7. 7

    如何按字母顺序按索引值对数据框的列进行排序

  8. 8

    按列重新分配索引对数据框进行排序

  9. 9

    按列值对数据框中具有相同索引的值进行排序

  10. 10

    如何按行中的名称对数据框进行排序?

  11. 11

    Pandas:按第二个数据框排序索引对数据框列进行排序

  12. 12

    按R中的多个列(一组较大的列)对数据框进行排序

  13. 13

    按R中的列组长度对数据框进行排序

  14. 14

    按包含特定值R的列对数据框进行分组

  15. 15

    按 R 中的最小列值对数据框列表进行排序

  16. 16

    按字符和日期列对数据框进行排序

  17. 17

    按多列对数据框进行排序

  18. 18

    按因子对数据框列进行排序

  19. 19

    按因子对数据框列进行排序

  20. 20

    按字符和日期列对数据框进行排序

  21. 21

    按数字列对数据框进行排序

  22. 22

    按列对数据框中的某些行进行排序

  23. 23

    按名称然后按日期对数据框进行排序,同时保持名称排序

  24. 24

    如何按R中的列名对数据框进行排序?

  25. 25

    按数字对数据框进行排序

  26. 26

    如何按R中每列的最后一个值对数据框中的列进行重新排序

  27. 27

    按日期(包括列标题)对数据框列进行分组,并总结 R 中 1 和 0 的实例

  28. 28

    R:按列的最常用值对数据进行排序

  29. 29

    在R中逐行对数据框的列进行重新排序

热门标签

归档