[英]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_all
与tidyverse
library(tidyverse)
df1 %>%
rename_all(~ str_replace(., ' ', '_'))
注意:首先在这里回答了gsub
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.