r - 计算行的中位数和均值(在 R 中)
问题描述
我正在使用 R 编程语言。假设我有以下数据(“my_data”):
student first_run second_run third_run fourth_run fifth_run sixth_run seventh_run eight_run ninth_run tenth_run
1 student1 19.70847 21.79771 16.49083 19.51691 13.97987 14.60733 13.89703 15.24651 20.75679 18.44020
2 student2 11.22369 15.36253 16.90215 20.20724 15.90227 15.14539 13.74945 18.30090 19.55124 17.24132
3 student3 15.93649 17.03599 14.20214 13.17548 14.70327 15.49697 13.08945 19.94142 22.41674 17.37958
4 student4 16.18733 15.13197 14.79481 16.75177 14.51287 17.71816 13.45054 14.25553 19.89091 18.88981
5 student5 18.71084 18.85453 17.15864 19.38880 15.68862 18.39169 15.26428 16.04526 18.92532 16.62409
6 student6 19.75246 12.74605 18.52214 17.92626 14.48501 17.20780 13.10512 12.46502 20.68583 15.87711
7 student7 14.75144 23.82376 18.51366 20.77424 14.22155 16.08186 12.95981 12.67820 20.12166 15.66006
8 student8 17.06516 15.63075 13.72026 15.02068 14.21098 15.99414 14.64818 16.15603 21.74607 17.07382
9 student9 20.27611 12.44592 12.26502 15.13456 14.61552 18.72192 15.11129 17.60746 18.83831 17.55257
10 student10 17.70736 16.21620 14.10861 17.20014 16.59376 19.50027 13.05073 15.80002 18.09781 18.34313
我想向此数据添加 2 列:
- my_mean : 每行的平均值
- my_median:每行的中位数
我在 R 中尝试了以下代码:
my_data$median = apply(my_data, 1, median, na.rm=T)
my_data$mean = apply(my_data, 1, mean, na.rm=T)
但我不认为这段代码是正确的。例如,使用此代码时,第二行数据的中位数返回为“16.90215”
但是当我手动取这一行的中位数时:
median(11.22369 , 15.36253 , 16.90215 , 20.20724, 15.90227 , 15.14539 , 13.74945 , 18.30090 , 19.55124 , 17.24132)
我得到一个答案
11.22
有人可以告诉我我做错了什么吗?
谢谢
解决方案
计算不正确,即第一个参数median
是'x',它可以是一个向量。第二个参数是na.rm
,后面是可变参数...
。所以,当 write 时11.22369, 15.36253
,'x' 被11.22369
认为是返回的值。相反,它应该是一个串联的向量c
median(c(11.22369 , 15.36253 , 16.90215 , 20.20724, 15.90227 , 15.14539 , 13.74945 , 18.30090 , 19.55124 , 17.24132))
[1] 16.40221
此外,根据 OP 的数据,应删除第一列,即字符或因子
apply(my_data[-1], 1, median, na.rm=TRUE)
1 2 3 4 5 6 7 8 9 10
17.46551 16.40221 15.71673 15.65965 17.77517 16.54246 15.87096 15.81245 16.34356 16.89695
第二行用于manual
计算
推荐阅读
- json - 使用 RestTemplate 映射 JSON 时忽略包装器类型
- python - 将分位数计算输出转换为数据帧
- codeigniter - 有什么办法可以在codeigniter中获得3份发票副本?
- java - Zulu Server JDK 和 Zulu Client JDK for Windows 之间有什么区别?
- c# - ASP.NET Core Web API Authentication allowing unauthorized access
- web-services - 如何在单个restfull webservice端点处理多个请求
- go - 在 nix 中使用 buildGoPackage 时出现“没有这样的文件或目录”错误
- python-3.x - 如何通过 pyarrow 使用用户定义的模式编写 Parquet
- python - 我需要解析和存储来自 json 或 yaml 文件的值列表
- excel - 如何在数据透视表中选择 lastrow 之前的行?