首页 > 解决方案 > 如何在 R 中设计频率多边形

问题描述

我正在尝试根据以下内容绘制频率多边形:矢量

x: c(48, 30, 35, 31, 21, 28, 34, 43, 36, 45, ,41, 33, 47, 47, 30, 47, 44, 45, 32, 46, 47, 23, 30, 23, 49, 20, 24, 20, 40, 50)

示例命令是:

plot(x, y, type = "b", main = "DoThi", sub = "X", xlab = "Tuoi", ylab = "TS")

困难在于我无法弄清楚变量 y 是如何产生的。谁能帮我创建一个变量 y 看起来像图片。谢谢

[ 在此处输入图像描述1

标签: r

解决方案


接受@Berhard 的评论,您可能正在寻找频率,即向量中值的计数x;并在 x 轴上添加万亿单位:

或者,如果您不想要科学记数法但文本尝试xlab = "Tuoi [Trillions]"

x <-  c(48, 30, 35, 31, 21, 28, 34, 43, 36, 45, 41, 33, 47, 47, 30, 47, 44, 45, 32, 46, 47, 23, 30, 23, 49, 20, 24, 20, 40, 50)

#frequency count for the x vector
df <- data.frame(table(x))

# create a dataframe which includes the complete integer sequence
# between minimum and maximum values which will be merged with the
# original data. The merge create `NAs` where the original data has
# missing `x` values. After the merge `NAs` are substituted by 0.
 
df1 <- data.frame(x = min(x):max(x))

# add frequency of 0 for missing integer values within the x vector range

df <- merge(df1, df, all = TRUE)

df$Freq[is.na(df$Freq)] <- 0 

plot(df, type = "l", main = "DoThi", xlab = expression(Tuoi~"["*x*10^{12}*"]"), ylab = "TS", col = "red")

reprex 包(v2.0.0)于 2021-09-16 创建


推荐阅读