有时重命名变量时,变量名可能很长,例如,如果它来自使用excel导出的问卷,其中变量名是整个问题。
这些可能是令人沮丧的处理,他们可能不完全复制,你可能不正确复制等。
下面是我处理这个问题的方法。请随意评论一个更好的方法:
library(tidyverse)
data <- data.frame( "please tell us what your age is?" = c(24, 35, 46, 14 ),
"what is your sex?" = c("male", "female", "male", "female"))
data
# create an "age" var and a "sex" var
data <- data %>% rename("age" = names(data)[1])
data <- data %>% rename("sex" = names(data)[2])
data
这使得变量的重命名达到更难出错的数字,以及你想要的变量名。
有没有人可以对此进行改进?比如迭代?
1条答案
按热度按时间lsmd5eda1#
您可以使用 tibble 包中
tibble
函数的参数**.name_repair**,它有不同的选项,允许您处理有问题的列名,例如下面的选项。(* 注意:* 在这些示例中,我添加了一些新列,只是为了注意不同之处。)*最低限度:没有名义的修理或检查,超越了基本的存在。
*unique:确保名称唯一且不为空。
*检查唯一性:(默认值),不进行名称修复,但检查它们是否唯一,
*普遍:使名称唯一且符合语法
有关详细信息,请参见
help(tibble::tibble)
。