打印数据框,列居中对齐

2023-11-25

我想打印一个数据框,其中列居中对齐。下面是我尝试过的,我认为打印数据框 test1 会导致列在中心对齐,但事实并非如此。关于我如何做到这一点有什么想法吗?

test=data.frame(x=c(1,2,3),y=c(5,6,7))
names(test)=c('Variable 1','Variable 2')
test[,1]=as.character(test[,1])
test[,2]=as.character(test[,2])
test1=format(test,justify='centre')
print(test,row.names=FALSE,quote=FALSE)
 Variable 1 Variable 2
          1          5
          2          6
          3          7
print(test1,row.names=FALSE,quote=FALSE)
 Variable 1 Variable 2
          1          5
          2          6
          3          7

问题是,为了使其按您的预期工作,“width" 还需要指定参数。

这是一个例子:

test.1 <- data.frame(Variable.1 = as.character(c(1,2,3)), 
                     Variable.2 = as.character(c(5,6,7)))

# Identify the width of the widest column by column name
name.width <- max(sapply(names(test.1), nchar))
format(test.1, width = name.width, justify = "centre")
#   Variable.1 Variable.2
# 1     1          5     
# 2     2          6     
# 3     3          7  

但是,这种方法如何处理变量名称长度不同的列呢?不太好。

test.2 <- data.frame(A.Really.Long.Variable.Name = as.character(c(1,2,3)), 
                     Short.Name = as.character(c(5,6,7)))

name.width <- max(sapply(names(test.2), nchar))
format(test.2, width = name.width, justify = "centre")
#   A.Really.Long.Variable.Name                  Short.Name
# 1              1                           5             
# 2              2                           6             
# 3              3                           7             

当然,有一个解决方法:通过用空格填充它们来将每个变量名称的“宽度”更改为相等的长度(使用format())

orig.names <- names(test.2) # in case you want to restore the original names
names(test.2) <- format(names(test.2), width = name.width, justify = "centre")
format(test.2, width = name.width, justify = "centre")
#   A.Really.Long.Variable.Name         Short.Name         
# 1              1                           5             
# 2              2                           6             
# 3              3                           7
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印数据框,列居中对齐 的相关文章

随机推荐

  • 文件选择器在 Windows 上不接受 mimetype 'text/csv'

    我正在使用 filepicker 并设置 text csv 上传的 mimetype 它在 Mac chrome 上运行得很好 但在 Windows 上则不然 知道如何解决这个问题吗 谢谢 Ace 也尝试替代的模仿类型 text comma
  • 使用 BinData 进行 MongoDump 查询

    Mongodump 文档指定您可以使用特定查询进行转储 i e mongodump host localhost db mydb collection testCollection query SomeKey some value 我将 i
  • 将 UIImage 剪成圆形

    我想剪一个UIImage成一个圆圈 以便我可以将其用作注释 我在这个网站上找到的每个答案都描述了创建一个UIImageView 然后修改它并显示它 但你不能将注释的图像设置为UIImageView 只有一个UIImage 我该怎么办 Xco
  • Asp.Net MVC 生命周期[重复]

    这个问题在这里已经有答案了 可能的重复 与 ASP NET WebForms 相比 ASP NET MVC 页面的 页面生命周期 是怎样的 如果专家能够向我指出 ASP Net MVC 生命周期 我将不胜感激 我有兴趣知道一旦请求到来并发送
  • toSet 和类型推断

    有人可以解释为什么以下不起作用 当我这样做时 不知怎的会丢失编译类型推断的一些信息toSet 但我不明白为什么 scala gt case class Foo id Int name String defined class Foo sca
  • 如何在 Java 中填充数组?

    我知道如何正常执行此操作 但我可以发誓您可以填写如下 a 0 0 0 0 0 你是怎么做到的 我确实尝试过谷歌 但没有得到任何有用的信息 查看数组 fill方法 int array new int 4 Arrays fill array 1
  • 如何更改R中的矩阵列类型

    我有一个矩阵 我想将第五列类型从字符更改为数字 但我不能 我已经尝试过这个 test1 5 lt as numeric test1 5 但同样 列类是字符而不是数字 我应该怎么办 谢谢 就像 Marius所说 矩阵只能保存一种数据类型 您可
  • 在一个函数调用中向 R data.table 添加多列?

    我有一个返回列表中两个值的函数 这两个值都需要添加到 data table 的两个新列中 函数的评估成本很高 因此我想避免计算函数两次 这是例子 library data table example data table DT x y v
  • 如何使用 Xpath 1.0 比较字符串?

    我遇到了一个问题
  • 使用 SQL 查询进行 XML 解析

    我正在尝试解析 sql server 中的以下 xml 以获取所有 3 个 Id
  • 停止重复使用自定义单元 Swift

    我有一个uitableview使用从数组获取数据的自定义单元格 定制单元有一个uilabel and an uibutton 直到uilabel文本或为文本加载的数组对象 为零 启动时一切都很好 当我按下uibutton正在追加数组 新单元
  • DataAdapter:更新无法找到 TableMapping['Table'] 或 DataTable 'Table'

    此代码片段引发错误 更新无法在适配器上找到 TableMapping Table 或 DataTable Table Update ds 线 为什么它会抛出这种类型的错误 SqlConnection con new SqlConnectio
  • 无法从打印的 html 文件查看 gvisMotionChart

    当我将动态图表的代码保存到 html 文件并尝试打开它时 我看到页脚 并且 正在初始化 进度条闪烁了一瞬间 但没有显示任何其他内容 so M1 lt gvisMotionChart Fruits idvar Fruit timevar Ye
  • 如何从模板访问对象的属性?

    根据http handlebarsjs com expressions html 我应该能够做到这一点 h1 article title h1 但我似乎无法让它在流星中工作 这是我的模板
  • C# 中的数据透视表

    我需要在 net 中创建一个数据透视表 不能使用任何第三方控件 除非它是免费的 我试图找到解释如何创建数据透视表 算法或步骤 的文档 但几乎所有内容都与 Excel 相关 有谁知道如何在 C 中创建数据透视表 谢谢 在这里帮忙http ms
  • rabbitmq 队列上有多个消费者 - 只有一个消费者收到消息

    我实现了多个消费者 他们从单个队列中获取消息 我使用类似于这个例子 除了我正在无限循环中执行 basic get 进行轮询 知道如何防止所有消费者之间的竞争 因为只有一个消费者会收到消息 而另一个消费者将继续进行轮询 直到另一条消息到来为止
  • 在 R 中,如何用另一个字符串替换包含特定模式的字符串?

    我正在开展一个涉及清理大学专业数据列表的项目 我发现很多拼写错误 所以我想使用这个函数gsub 将拼写错误的拼写替换为正确的拼写 例如 假设 biolgy 在名为 Major 的专业列表中拼写错误 如何让 R 检测拼写错误并将其替换为正确的
  • 更新查询中具有多个匹配项的行

    给出如下更新语句 UPDATE UserAssesment SET AssessmentDate comp AssessmentDate FROM UserAssesment ua INNER JOIN vw CompletedAssess
  • 当输入路径中有方括号时,Get-ChildItem -Recurse 是否会损坏?

    好吧 所以我感觉是这样的must是 PowerShell 中的一个错误 但我想看看你们是否认为这听起来很糟糕 这是一件很容易重现的事情 但我可以理解为什么它可能不是一个特别常见的用例 我在下面列出的步骤实际上并不是我的脚本正在执行的操作 我
  • 打印数据框,列居中对齐

    我想打印一个数据框 其中列居中对齐 下面是我尝试过的 我认为打印数据框 test1 会导致列在中心对齐 但事实并非如此 关于我如何做到这一点有什么想法吗 test data frame x c 1 2 3 y c 5 6 7 names t