'colnames <-`(`* tmp *`,value =`* vtmp *`)错误:尝试在尺寸小于二维的对象上设置'colnames'

阿尔瓦罗·马丁内斯

我正在尝试重命名df的特定列名称。

为了执行此任务,我使用一个函数通过使用for循环执行替换。

这是我的代码:


## data ##

df <- structure(list( 
  A = c(1,2,3),
  B = c("Yes", "Yes", "No"),
  C = c("John", "James", "Maria"),
  D = c(45, 34, 23),
  E = c(712, 777, 888)),
  
  class = "data.frame",
  row.names = c(NA, -3L))

## setting atomic vectors for original/new names ##

original_df_names <- c("A", "B", "C")
new_df_names <- c("Order", "Answer", "Name")


## function to rename columns ##

rename_fun <- function(df, original_names, new_names){
  for(i in 1:seq_along(original_names)){
    for(j in 1:seq_along(new_names)){
      colnames(df)[which(names(df) == i)] <- j
    }
  }
}

## applying function ##

df <- mapply(df = df,
             original_names = original_df_names,
             new_names = new_df_names,
             rename_fun)

控制台输出:

Error in `colnames<-`(`*tmp*`, value = `*vtmp*`) : 
  attempt to set 'colnames' on an object with less than two dimensions

预期产量

names(df)
[1] "Order" "Answer" "Names" "D" "E"

还有其他方法可以做到这一点吗?

阿克伦

我们可以利用 rename_at

library(dplyr)
df <- df %>%
       rename_at(vars(all_of(original_df_names)), ~ new_df_names)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何克服错误:xts对象中的“试图在尺寸小于二维的对象上设置'colnames'”

来自分类Dev

glmmadmb R包:process_randformula中的错误(公式,随机数,数据=数据)和`colnames <-`(`* tmp *`,值= character(0))中的错误

来自分类Dev

使用动态colNames和colModel时colnames <> colmodel的长度

来自分类Dev

c(“ region”,“ value”)%in%colnames(user.df)并非全部为TRUE

来自分类Dev

使用本地数据将冻结设置为jqGrid的前两列。colModel和colNames是动态绑定的

来自分类Dev

colnames命令产生错误:属性[13]的长度必须与向量[12]的长度相同

来自分类Dev

COLNAMES函数无法读取正确的标签

来自分类Dev

使用colnames作为变量构造函数

来自分类Dev

colnames函数如何分配新的列名?

来自分类Dev

R在for循环内结合了assign,colnames

来自分类Dev

COLNAMES函数无法读取正确的标签

来自分类Dev

使用本地数据将冻结设置为jqGrid的前两列。动态绑定colModel和colNames的位置

来自分类Dev

字符串拆分输出作为新的colnames

来自分类Dev

在R中使用colnames()在循环中更改图的标题

来自分类Dev

R:使用for()更改变量名称;grepl()和colnames()

来自分类Dev

R Colnames和Colsums将逻辑转换为数字

来自分类Dev

如何在 jqgrid 中动态更改 colNames 和 colModel?

来自分类Dev

将行名的数据透视为 colnames r

来自分类Dev

将 tableGrob 中的 colhead 向左对齐而不剪掉 colnames

来自分类Dev

Colnames() 按行打印列名,我想要单列

来自分类Dev

匹配等于 colnames(对称或非对称矩阵)的 rownames

来自分类Dev

使用colnames返回数据框行中第一个出现的第二个最大值并应用

来自分类Dev

R编程:which(colnames(df)==“ thecolumnname”)在函数内部不起作用?

来自分类Dev

如何在R中的函数内使用colnames()而不将数字输出转换为字符?

来自分类Dev

R colnames()将列表中的每个元素分配给第一列

来自分类Dev

如何找到具有相同colnames / rownames的行的值之间的差异?

来自分类Dev

一个班轮想要:创建数据框并给它起别名:R data.frame(...,colnames = c(“ a”,“ b”,“ c”))

来自分类Dev

一个班轮想要:创建数据框并给它起别名:R data.frame(...,colnames = c(“ a”,“ b”,“ c”))

来自分类Dev

R 中带有 colnames set 和 stringsAsFactors = FALSE 的两个向量的笛卡尔线性衬里

Related 相关文章

  1. 1

    如何克服错误:xts对象中的“试图在尺寸小于二维的对象上设置'colnames'”

  2. 2

    glmmadmb R包:process_randformula中的错误(公式,随机数,数据=数据)和`colnames <-`(`* tmp *`,值= character(0))中的错误

  3. 3

    使用动态colNames和colModel时colnames <> colmodel的长度

  4. 4

    c(“ region”,“ value”)%in%colnames(user.df)并非全部为TRUE

  5. 5

    使用本地数据将冻结设置为jqGrid的前两列。colModel和colNames是动态绑定的

  6. 6

    colnames命令产生错误:属性[13]的长度必须与向量[12]的长度相同

  7. 7

    COLNAMES函数无法读取正确的标签

  8. 8

    使用colnames作为变量构造函数

  9. 9

    colnames函数如何分配新的列名?

  10. 10

    R在for循环内结合了assign,colnames

  11. 11

    COLNAMES函数无法读取正确的标签

  12. 12

    使用本地数据将冻结设置为jqGrid的前两列。动态绑定colModel和colNames的位置

  13. 13

    字符串拆分输出作为新的colnames

  14. 14

    在R中使用colnames()在循环中更改图的标题

  15. 15

    R:使用for()更改变量名称;grepl()和colnames()

  16. 16

    R Colnames和Colsums将逻辑转换为数字

  17. 17

    如何在 jqgrid 中动态更改 colNames 和 colModel?

  18. 18

    将行名的数据透视为 colnames r

  19. 19

    将 tableGrob 中的 colhead 向左对齐而不剪掉 colnames

  20. 20

    Colnames() 按行打印列名,我想要单列

  21. 21

    匹配等于 colnames(对称或非对称矩阵)的 rownames

  22. 22

    使用colnames返回数据框行中第一个出现的第二个最大值并应用

  23. 23

    R编程:which(colnames(df)==“ thecolumnname”)在函数内部不起作用?

  24. 24

    如何在R中的函数内使用colnames()而不将数字输出转换为字符?

  25. 25

    R colnames()将列表中的每个元素分配给第一列

  26. 26

    如何找到具有相同colnames / rownames的行的值之间的差异?

  27. 27

    一个班轮想要:创建数据框并给它起别名:R data.frame(...,colnames = c(“ a”,“ b”,“ c”))

  28. 28

    一个班轮想要:创建数据框并给它起别名:R data.frame(...,colnames = c(“ a”,“ b”,“ c”))

  29. 29

    R 中带有 colnames set 和 stringsAsFactors = FALSE 的两个向量的笛卡尔线性衬里

热门标签

归档