R语言中如何从导入的MS Excel表格计算均值与标准差及相关问题
问题解决方法
一、把Excel表格导入rdrr.io/snippets的方法
因为rdrr.io没法访问本地剪贴板或文件,你可以直接在代码里手动构造对应的数据框,把Excel里的内容转换成R能识别的格式:
# 直接构造和Excel数据一致的数据框 my_data <- data.frame( Year = c(2014, 2014, 2015, 2015, 2015, 2016, 2016, 2016), Contract = rep("Oerlikon", 8), Compensation = c(95741, 105771, 90799, 90282, 89485, 108976, 84187, 117542) )
把这段代码粘贴到rdrr.io的代码片段里运行,就能得到和你本地导入完全一样的数据结构。
二、正确计算Compensation的均值和标准差
你之前的错误是用错了mean函数的用法:
- 不能直接把整个数据框传给
mean,得用$符号提取Compensation这一列 - 如果导入时
Compensation是字符型(比如带了非数字内容),要先转成数值型(上面构造的数据框已经是数值型,无需这一步)
正确代码如下:
# 计算均值并保留两位小数 comp_mean <- mean(my_data$Compensation) round(comp_mean, 2) # 输出100185.82 # 计算标准差并保留两位小数 comp_sd <- sd(my_data$Compensation) round(comp_sd, 2) # 输出19951.74
要是你的Compensation列是字符型,先执行转换:
my_data$Compensation <- as.numeric(my_data$Compensation)
内容的提问来源于stack exchange,提问作者Professor W
相关产品推荐
相关产品推荐

