需要帮助For循环嗨,我有一张这样的桌子,我想做的是:
- >对于每一行,执行+ -1到X和+ -1到Y并取这四个Age值的中位数并将其保存在新列下。有人可以帮忙吗?
X Y年龄
-1 2 27
2 -1 23
4 5 56
-7 -4 43
回复:For循环需要帮助非常感谢,非常感谢!
回复:For循环需要帮助附件是一个样本数据表,其中包含4个新列及其公式,以及带有它的中间列; s公式。 下面是我放入数据表的公式示例。 这是X-1,Y列公式
dt = Current Data Table();
TheRow = Row();
Xval = :X - 1;
Yval = :Y;
MyRows = dt << get rows where( :X == Xval & :Y == Yval );
If( N Rows( MyRows ) > 0,
TheResult = dt:Age[MyRows[1]]
);
回复:For循环需要帮助这是正确的,这样我们从四种不同的坐标组合中得到四种不同的Age值。
回复:For循环需要帮助我正在寻找进一步的规范。 对于X = 3和Y = -1的给定情况,您是否在寻找Age年份的值,其中X = X-1,Y未更改:使用您的小样本表
:年龄==>其中(X == 2和Y == - 1)==> 23
这是你想要的?
回复:For循环需要帮助 @ rk1988 :
对不起,这里并没有真正遵循你的要求。如果您按照解释的那样在变量“X”和“Y”中引入偏差,则“年龄”列中的值不会受到影响。Age1到Age4及其平均值是固定的,除非在Age中引入偏差。
这意味着可以通过以下方式获得:
Col Mean(:Age) ;
我无法遵循的道歉,您想手动在excel表中展示您想要的内容,因此可能更清楚。
回复:For循环需要帮助谢谢你的回复:)让我澄清一下......
对于每一行:
1。将1添加到X,现在转到坐标为(X + 1,Y)的那一行并获取年龄值 - >这是变量Age1
2。 减去来自X的1,现在转到坐标为(X-1,Y)的那一行并抓住年龄值 - >这是变量Age2
3。将1添加到Y,现在转到坐标为(X,Y + 1)的那一行并获取年龄值 - >这是变量Age3
4。 减去来自Y的1,现在转到坐标为(X,Y-1)的那一行并抓住年龄值 - >这是变量Age4
5。计算Age1 ... 4的中位数并将其保存在新列下
为每一行重复步骤......
回复:For循环需要帮助 @ rk1988 :
我们假设您的表名为“dt”
下面的代码应该将X和Y作为新列添加和减去1。
dt << New Column("AddXBias",Numeric,Continuous,Formula(:X+1))
<< New Column("SubXBias",Numeric,Continuous,Formula(:X-1))
<< New Column("AddYBias",Numeric,Continuous,Formula(:Y+1))
<< New Column("SubYBias",Numeric,Continuous,Formula(:Y-1)); 现在,问题是您要采用哪些列的平均值?
如果它只是年龄栏,那应该这样做
AgeMean = Col Mean(:Age);
如果是其他一些值,请提供明确的方向,我会尽力提供帮助