我需要计算我的数据集的单个单位的变量之间的平均值.但是,在这样做的时候,我需要不考虑一些价值观.为了更好地解释,想想有两个单元和三个变量:
V1 V2 V3
[1] 3 -2 4
[2] -1 4 1
Run Code Online (Sandbox Code Playgroud)
并且您想要按行计算平均值,而不考虑这些负值:
=> mean(1row)=(3 + 4)/ 2
=> mean(2row)=(4 + 1)/ 2
有谁能请给我命令在R?
非常感谢
我有一个MySQL表有三列id,名称和高度.
我想运行一个查询来返回所有条目的名称和高度,以及所有条目的平均高度.所有这些都必须在一个查询中完成.
这是我试过的.
SELECT name, height, avg(height) as average_height FROM mytable
Run Code Online (Sandbox Code Playgroud)
此查询仅返回单行,但平均高度正确.
name height average_height
--------------------------------
Harry 165 169.5
Run Code Online (Sandbox Code Playgroud)
然后我尝试了这个查询
SELECT name, height, avg(height) as average_height FROM mytable GROUP BY name
Run Code Online (Sandbox Code Playgroud)
然后它返回所有行,但平均值不正确
name height average_height
--------------------------------
Harry 165 165
Tom 170 170
George 180 180
Raj 163 163
Run Code Online (Sandbox Code Playgroud)
如何在单个查询中获取平均值和所有行.
好的,这是我的头脑,它通过四舍五入后的数字四舍五入产生一个稍微不准确的结果.我需要确切的价值,而不是圆润的价值!
所以首先要采取以下代码:
int num1 = 10087;
int num2 = 9971;
int num3 = 9909;
int num4 = 9917;
int num5 = 9904;
double average = (num1 + num2 + num3 + num4 + num5) / 5;
double percentage = (10000 - average) / 100;
Run Code Online (Sandbox Code Playgroud)
如果在计算器上完成此数学运算,则"百分比"的值为0.424.但如果它通过代码运行,则值将四舍五入为0.43,这是不准确的.我怎么能阻止这种情况发生?
注意:请不要质疑10000号码,我还要求结果正确的数字(0.424)在这种情况下非常重要!
我最近创建了一个C++程序来查找值数组的平均值和模式.我意识到在课堂上这样做会好得多.但是,我生成均值的函数并没有吐出正确的数字,尽管我很确定逻辑是正常的.
此外,我能够从我在网上找到的东西修改一个片段,以创建一个生成模式的函数,或者至少它能够找到的第一个最常出现的值,我能够实现.但是,我并不是100%确定如何围绕功能中实际发生的事情.
更好地理解模式函数中发生的事情以及我的平均函数到底出了什么问题将不胜感激.
到目前为止这是我的代码:
#include <iostream>
using namespace std;
void mode(int[], int);
void mean(int[], int);
void sort(int[], int);
void median(int[], int);
int main()
{
int array[15];
float total, mode;
int n = 15;//number of elements in array
//fill in the value of array
for(int i=0; i<n; i++){
cout << "fill in the "<< i+1 << " number. :";
cin >> array[i];
}
sort(array, n);
return 0;
}
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
void mean(int new_array[], int num){
//GET TOTAL & CALCULATE MEAN …Run Code Online (Sandbox Code Playgroud) 我的头在爆炸。我似乎无法创建一个有效的解决方案。
我有一个这种格式的文件:
99895|35378|0.01
99895|813|-0.97
99895|771|0.29
442|833|-1.06
442|485|-0.61
442|367|-0.14
442|478|0.77
442|947|-0.07
7977|987|0.76
7977|819|0.37
7977|819|0.36
7977|653|1.16
7977|1653|1.15
Run Code Online (Sandbox Code Playgroud)
我想为第一列中的每个 id 计算第三列的平均值。
这看起来很容易,但我无法让它发挥作用。您如何从第一列中获得任何所述 id 的平均值?
编辑:
我之前写过的一些示例代码:
$file = file_get_contents("results.txt");
$file = explode("
", $file);
$howMany = count($file);
for($a = 0;$a<$howMany;$a++)
{
$row = explode("|", $file[$a]);
$id = $row[0];
$howManyAlready = count($bigTable[$id]);
$bigTable[$id][$howManyAlready] = $row[2];
}
Run Code Online (Sandbox Code Playgroud)
我已经添加了代码。到目前为止,它将结果放入一个数组中(偏移量与其 id 相对应)但是我在如何获取这些结果并计算每个 id 的平均值然后将其显示在屏幕上时遇到了麻烦。
我有一个 linq 语句,它对 DataTable 中的行进行平均并将它们显示在图表上,按日期和时间分组。
有一个大问题:由于一天中的特定时间根本没有任何事情发生,因此返回了许多 0 值。这些正在扭曲我的平均值
一天中的不同时间在不同的列中可能有 0,所以我不能只删除列中带有 0 的每一行(干净地),因为我最终会在数据表中没有剩余的行,或者至少我不能在任何情况下都想一个干净的方法来做到这一点。
这就是我所拥有的:
var results = from row2 in fiveDayDataTable.AsEnumerable()
group row2 by ((DateTime)row2["TheDate"]).TimeOfDay
into g
select new
{
Time = g.Key,
AvgItem1 = g.Average(x => (int)x["Item1"]),
AvgItem2 = g.Average(x => (int)x["Item2"]),
AvgItem3 = g.Average(x => (int)x["Item3"]),
AvgItem4 = g.Average(x => (int)x["Item4"]),
AvgItem5 = g.Average(x => (int)x["Item5"]),
};
Run Code Online (Sandbox Code Playgroud)
我不知道这是否可能,所以我想我会问 - 有没有办法在没有 0 的情况下做平均值?
谢谢!
我是 Excel 中 VBA 的新手。我有一个包含 11 000 个数字的数据范围。我想计算前 60 次的平均值,然后是接下来的 60 次直到结束。我做了一些编程,但它不起作用。有人可以帮我吗?
Sub Hourlyaverage()
Dim i As Long, j As Long, k As Long, l As Long, m As Long
Sheets("DUT1_Test51_excel").Select
i = 3
j = 3
k = 63
Do While Cells(i, 12).Value <> ""
l = Cells(i, 12).Value
m = Cells(k, 12).Value
Cells(j, 20).Value = [Average (l : m)]
i = i + 60
j = j + 1
k = k + 60
Loop
End Sub
Run Code Online (Sandbox Code Playgroud) 我正在使用averageifs函数,并且如果其中一个条件为真,我需要一列我需要计算平均值.
我尝试过使用OR函数,尝试了大括号,但都给了我错误.
= AVERAGEIFS(N1:N612,I1:16 12,{ "FL", "IF"})
还有更多的范围,但编码很好.
要清楚,如果列"I"包含(特别是)字母FL 或字母IF ,我想返回平均值.任何其他字母都应表示该条目不是平均值.
TIA!
给定计算n IEEE 754双精度浮点数x 0,x 1,...,x n - 1的算术平均值的任务,是否更精确
(ksum i x i)/ n
(即首先进行所有x i的Kahan和,然后除以n)或
ksum i(x i/n)
(即首先将x i除以n然后进行Kahan求和)?
我自己的测试(在[0,1)中均匀分布的随机数和在0以σ= 1为中心的整个浮点数范围内的正态分布数字)是不确定的,表明两者都非常精确,但我选择的测试数据可能特别差.
我是Java的新手,所以如果已经在其他地方回答了这个问题,那么我要么不知道搜索正确的内容还是我无法理解答案.
所以问题是:我在列表中有一堆对象:
try(Stream<String> logs = Files.lines(Paths.get(args))) {
return logs.map(LogLine::parseLine).collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)
这就是添加属性的方式:
LogLine line = new LogLine();
line.setUri(matcher.group("uri"));
line.setrequestDuration(matcher.group("requestDuration"));
....
Run Code Online (Sandbox Code Playgroud)
如何对日志进行排序,以便最终得到列表,其中具有相同"uri"的对象仅以平均requestDuration显示一次.
例:
object1.uri = 'uri1', object1.requestDuration = 20;
object2.uri = 'uri2', object2.requestDuration = 30;
object3.uri = 'uri1', object3.requestDuration = 50;
Run Code Online (Sandbox Code Playgroud)
结果:
object1.uri = 'uri1', 35;
object2.uri = 'uri2', 30;
Run Code Online (Sandbox Code Playgroud)
提前致谢!