打印零列data.frame时显示行名 是否存在可用的内置函数?
解决方案
R 基础库没有专门针对零列数据框打印行名的独立内置函数,可通过内置函数组合实现目标效果,无需额外编写复杂的自定义逻辑:
方法1:适配默认打印格式,完全匹配需求输出效果
对base::data.frame和S4类型的DataFrame都适用:
cat( capture.output(print(df))[1], # 抓取默认打印的首行统计信息 paste(rownames(df), collapse = "\n"), sep = "\n" )
运行后输出如下:
DataFrame with 5 rows and 0 columns ID1 ID2 ID3 ID4 ID5
方法2:更简便的临时列方案(无副作用)
通过临时绑定一列空值触发默认打印的行名输出逻辑,不会修改原数据框:
# 适用于base::data.frame print(cbind(df, .empty = character(nrow(df))), row.names = T)[, -ncol(df)]
内容的提问来源于stack exchange,提问作者nerdyaswild
相关产品推荐
相关产品推荐

