R 包含正值的饼图问题
我正在尝试创建一个饼图。以下是一些数据:R 包含正值的饼图问题,r,pie-chart,R,Pie Chart,我正在尝试创建一个饼图。以下是一些数据: tst1 tst2 tst34 13.3 2.3 0.0 70.2 4.5 1.2 1.3 5.2 3.3 我尝试了以下代码: df_pie <- df %>% select("tst1", "tst2", "tst34") df_pie$tst1 <- as.numeric(df_pie$tst1) df_pie$tst2 <- as.numeric
tst1 tst2 tst34
13.3 2.3 0.0
70.2 4.5 1.2
1.3 5.2 3.3
我尝试了以下代码:
df_pie <- df %>% select("tst1", "tst2", "tst34")
df_pie$tst1 <- as.numeric(df_pie$tst1)
df_pie$tst2 <- as.numeric(df_pie$tst2)
df_pie$tst34 <- as.numeric(df_pie$tst34)
lbls <- c("Stage 1", "Stage 2", "Stage 3")
pie(df_pie, labels = lbls, main="Pie Chart")
我读过一些文章,人们以前就有过这个问题。我已检查数据是否为正数和数字。有人能帮忙吗?饼图中的
x
只接受一个正的向量
作为输入,而不是数据框
。根据?pie
x-非负数值量的向量。x中的值显示为饼图切片的区域
这里有一个带有pmap
的选项,可以在每一行上循环
library(purrr)
par(mfrow = c(2, 2))
lst1 <- pmap(df_pie, ~ pie(c(...), labels = lbls,
main = 'Percent of Time in each Sleep Stage'))
-输出
或使用
应用
par(mfrow = c(2, 2))
lst1 <- apply(df_pie, 1, function(x) pie(x, labels = lbls,
main = 'Percent of Time in each Sleep Stage'))
par(mfrow=c(2,2))
lst1pie
中的x
是非负数值量的向量。x中的值显示为饼图切片的区域。
x
饼图中的值应为矢量,特别是“非负数值的矢量”。你想如何绘制数据帧?哦,我现在明白了。如果我想绘制每个变量的平均值,我可以做如下操作:x谢谢@akrun!你能解释一下为什么输出3个不同的饼图而不是1个吗?@D.Fowler第一个饼图在各行上循环,你显示的数据中有3行。根据您的评论,您需要每个列的平均值。因此,第二个代码块将帮助您感谢@akrun。这非常有用。在R中,我的饼图看起来很小。您是否立即知道如何使它看起来更大(即,像您的一样)?@D.Fowler可能是您使用的par
。在新的会话中尝试或更改par(mfrow=c(1,1))
pie(colMeans(df_pie), labels = lbls,
main = 'Percent of Time in each Sleep Stage')
par(mfrow = c(2, 2))
lst1 <- apply(df_pie, 1, function(x) pie(x, labels = lbls,
main = 'Percent of Time in each Sleep Stage'))
df_pie <- structure(list(tst1 = c(13.3, 70.2, 1.3), tst2 = c(2.3, 4.5,
5.2), tst34 = c(0, 1.2, 3.3)), class = "data.frame", row.names = c(NA,
-3L))