如何移除R语言data.frame中的列名?解决零长度变量名错误
解决formattable表格中移除指定列名的问题
嘿,我明白你遇到的困扰了!直接把列名设为空字符串会报错,是因为R在创建data.frame时不允许使用零长度的变量名,但我们可以换两种方式来实现需求:
方法1:先创建数据,再修改列名为空
先正常创建带有test列名的data.frame,之后再把目标列的列名修改为空字符串,这样就不会触发错误了:
# 正常创建数据框 df <- data.frame( "test" = c("Average age of Diagnosis", "Average Life Space", "Average Number of Dogs Diagnosised with MR"), "2008-2018" = c(28, 27, 30), "Sample size" = c(12,23,34), stringsAsFactors = FALSE, check.names=FALSE ) # 将第一列的列名改为空字符串 colnames(df)[1] <- ""
之后再用这个修改后的df传入formattable,就能得到没有第一列列名的表格了。
方法2:在formattable中直接控制列显示标签
如果你不想改动原始数据框的列名,可以在formattable函数里通过col.names参数指定显示的列标签,把第一列的标签设为空即可:
library(formattable) # 保留原始数据框的列名 df <- data.frame( "test" = c("Average age of Diagnosis", "Average Life Space", "Average Number of Dogs Diagnosised with MR"), "2008-2018" = c(28, 27, 30), "Sample size" = c(12,23,34), stringsAsFactors = FALSE, check.names=FALSE ) # 渲染表格时指定列标签,第一列设为空 formattable(df, col.names = c("", "2008-2018", "Sample size"))
这种方式更灵活,原始数据的结构不会被改变,只是在表格展示时隐藏了第一列的列名。
内容的提问来源于stack exchange,提问作者neuron
相关产品推荐
相关产品推荐

