繁体   English   中英

从model.matrix之后的列名称中删除空格

[英]remove whitespace from column names after model.matrix

我写信给您,是因为我需要删除矩阵的列名中间的空格。 我在R工作。

在我的代码中,我刚刚运行了model.matrix命令。 它为每个因子添加一列,因此,如果因子名称中有一些空格,则会在列名称中移动它。

我想删除它们。

下面是一个例子

Intercept   Region_Factor 1 A   Region_Factor 2 A    Region_Factor 3 A     VarA 10    
    1               1                  0                    0               1  
    1               0                  1                    0               0.52
 .......    

我想获得列名称如下:

Intercept   Region_Factor_1_A    Region_Factor_2_A    Region_Factor_3_A    VarA_10
    1               1                   0                    0               1  
    1               0                   1                    0               0.52
 .......

非常感谢

您可以使用colnames读取列名,用gsub替换gsub ,并将其放回列名,写为:

colnames(matrix)=gsub(" ", "_", colnames(matrix), fixed = TRUE)

一种选择是使用gsub匹配列名称中的空格,并替换为_

colnames(df1) <- gsub(" ", '_', colnames(df1))

如果只有一个实例要替换,请使用sub

colnames(df1) <- sub(" ", '_', colnames(df1))

或者另一个选择是chartr

colnames(df1) <- chartr( ' ', '_', colnames(df1))

或者另一种选择是rename_alltidyverse

library(tidyverse)
df1 %>%
   rename_all(~ str_replace(., ' ', '_'))

注意:首先在这里回答了gsub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM