R语言中expand.grid生成的名称含多余空格如何去除?
解决mtcars数据集行/列名空格问题
方案1:从根源避免空格(推荐)
直接用paste0拼接前缀和序号,替代expand.grid,代码简洁且不会产生空格:
data <- mtcars # 生成列名 c1-c11 colnames(data) <- paste0("c", 1:11) # 生成行名 r1-r32 rownames(data) <- paste0("r", 1:32) data
方案2:去除已存在的空格
如果已经生成了带空格的行/列名,用base R的gsub函数移除空格:
# 去除列名中的空格 colnames(data) <- gsub(" ", "", colnames(data)) # 去除行名中的空格 rownames(data) <- gsub(" ", "", rownames(data))
原问题原因
你用expand.grid生成前缀和序号的组合时,数值类型的序号被转换为因子后,在拼接过程中引入了空格。直接用paste0拼接字符和数值,能避免类型转换带来的额外空格。
内容的提问来源于stack exchange,提问作者J.Z.
相关产品推荐
相关产品推荐

