在R中如何找到标准差?
作为一种统计语言,R 提供了标准函数 sd(’ ‘) 来计算数值的标准差。
那么标准差是什么呢?
- ‘Standard deviation is the measure of the dispersion of the values’.
- The higher the standard deviation, the wider the spread of values.
- The lower the standard deviation, the narrower the spread of values.
- In simple words the formula is defined as – Standard deviation is the square root of the ‘variance’.
标准差的重要性
标准差在统计学中非常受欢迎,但为什么呢?它的受欢迎程度和重要性的原因列举如下。
- Standard deviation converts the negative number to a positive number by squaring it.
- It shows the larger deviations so that you can particularly look over them.
- It shows the central tendency, which is a very useful function in the analysis.
- It has a major role to play in finance, business, analysis, and measurements.
在我们进入主题之前,请牢记这个定义!
方差 – 定义为观测值与期望值之间的平方差异。
在R中找到列表中的标准差。
用这种方法,我们将创建一个名为’x’的列表,并向其添加一些值。然后我们可以计算列表中这些值的标准偏差。
x <- c(34,56,87,65,34,56,89) #creates list 'x' with some values in it.
sd(x) #calculates the standard deviation of the values in the list 'x'
输出结果为 22.28175。
现在我们可以尝试从列表‘y’中提取特定值来找到标准偏差。
y <- c(34,65,78,96,56,78,54,57,89) #creates a list 'y' having some values
data1 <- y[1:5] #extract specific values using its Index
sd(data1) #calculates the standard deviation for Indexed or extracted values from the list.
输出 —> 23.28519
计算存储在CSV文件中的数值的标准偏差。
在这种方法中,我们正在导入一个CSV文件,以在该文件中存储的值上使用R语言计算标准差。
readfile <- read.csv('testdata1.csv') #reading a csv file
data2 <- readfile$Values #getting values stored in the header 'Values'
sd(data2) #calculates the standard deviation
输出结果为17.88624。
高低标准差 dī
通常情况下,在标准差较低的情况下,数值将非常接近平均值;而在标准差较高的情况下,数值将远离平均值。
我们可以用一个例子来说明这个问题。
x <- c(79,82,84,96,98)
mean(x)
---> 82.22222
sd(x)
---> 10.58038
使用R语言编写以下代码以在条形图中绘制这些数据值。
要安装ggplot2包,在R Studio中运行以下代码。
–> 安装包(“ggplot2”)
library(ggplot2)
values <- data.frame(marks=c(79,82,84,96,98), students=c(0,1,2,3,4,))
head(values) #displayes the values
marks students
1 79 0
2 82 1
3 84 2
4 96 3
5 98 4
x <- ggplot(values, aes(x=marks, y=students))+geom_bar(stat='identity')
x #displays the plot
在上述结果中,您可以观察到大部分数据都聚集在均值(79、82、84)附近,这表明它是一个低标准差。
高标准差的图示。
y <- c(23,27,30,35,55,76,79,82,84,94,96)
mean(y)
---> 61.90909
sd(y)
---> 28.45507
要使用R中的ggplot绘制柱状图来表示这些值,请运行以下代码。
library(ggplot2)
values <- data.frame(marks=c(23,27,30,35,55,76,79,82,84,94,96), students=c(0,1,2,3,4,5,6,7,8,9,10))
head(values) #displayes the values
marks students
1 23 0
2 27 1
3 30 2
4 35 3
5 55 4
6 76 5
x <- ggplot(values, aes(x=marks, y=students))+geom_bar(stat='identity')
x #displays the plot
在上述结果中,您可以看到大范围的数据。您可以看到最低分为23分,与平均分61分相差甚远。这被称为高标准偏差。
到目前为止,您对在R语言中使用sd(”)函数计算标准差有了相当的理解。让我们通过解决简单的问题总结一下本教程。
Example #1: 一个偶数列表的标准差
计算1-20之间(不包括1和20)的偶数的标准差。
解决方案:1到20之间的偶数是,
2、4、6、8、10、12、14、16、18
让我们找出这些数值的标准差。
x <- c(2,4,6,8,10,12,14,16,18) #list of even numbers from 1 to 20
sd(x) #calculates the standard deviation of these
values in the list of even numbers from 1 to 20
输出 —> 5.477226
例子2:美国人口数据的标准偏差
计算美国各州人口的标准差。
为此,导入CSV文件并读取值,以找到标准差,并在R中绘制结果的直方图。
df<-read.csv("population.csv") #reads csv file
data<-df$X2018.Population #extarcts the data from population
column
mean(data) #calculates the mean
View(df) #displays the data
sd(data) #calculates the standard deviation
输出 —-> 平均值 = 6432008,标准差 = 7376752
结论
在R中找到值的标准差是很容易的。R提供了标准函数sd(’ ‘)来计算标准差。您可以创建一个值列表或导入CSV文件来找到标准差。
重要提示:不要忘记根据以上所示的索引从文件或列表中提取一些值来计算标准差。
请使用评论框来发布有关 R 中 sd(’ ‘)函数的任何疑问。祝学习愉快!