r - 每行带有格式表的动态百分比条
问题描述
我有一个 13 行 18 列的 data.frame。目标是按percentage bar
行创建。
从 formattable 的文档中,可能不支持直接开箱即用的百分比条。
MRE:
假人data.frame
如下:
frame <- data.frame(replicate(18,sample(0:1,13,rep=TRUE)))
#load library
library(formattable)
下一行为第一行创建百分比条:
formattable(
frame, list(area(1, 1:18) ~ color_bar("lightgray", function(col) col/sum(col))))
以下为所有行创建百分比条,但它是硬编码的:
formattable(
frame, list(area(1, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(2, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(3, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(4, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(5, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(6, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(7, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(8, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(9, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(10, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(11, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(12, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)),
area(13, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col)))
) #works per row, not scalable
这个想法是动态地创建上面的图表(对于 n 行变量)
我尝试过但不起作用的事情包括:
formattable(
frame, list(area(1:13, 1:ncol(frame)) ~ color_bar("lightgray", function(col) col/sum(col))))
这个不起作用,因为它创建了一个完整的区域,因此百分比基于完整的帧。
解决方案
这做到了:
formattable(frame,
lapply(as.list(1:nrow(frame)), function(row) {
area(row, 1:ncol(frame)) ~ color_bar('lightgray', function(row) row/sum(row))
}))
推荐阅读
- r - 在 R 中将 as.factors 分组在一起
- reactjs - 被 CORS 老板打败(GraphQLServer、Graphql-yoga、React)
- google-api - 链接的应用程序页面在哪里
- html - 如何在 Bootstrap 3.4 的同一行上创建输入和按钮?
- java - GPS地图不会播种它
- php - php中shuffle中的字符串重复问题
- swift - Swift 4 解析嵌套的 JSON 数组,这是来自 Web 服务的响应
- node.js - 在 NodeJS 中格式化 Postgres 查询的输出
- r - 我可以可视化箱形图中框的“另一个变量”的平均值吗?
- ios - 使用 PDFKit IOS 保存的 PDFView 未在 Adobe 阅读器中正确显示