如何指定开始日期?我对不同日期进入的网站进行了纵向研究。 为了使它们具有可比性,我需要将每个输入日期指定为“1”,将第二个数据收集点指定为“2”,依此类推。 数据为长格式,存在大量缺失数据(missed data collection)
数据看起来像这样,我想生成“Count”:
ID 日期 Var1 计数
001 一月 1 日。 。
001 二月 1 日。 。
001 三月 1 10 1
001 四月 1 日 13 2
002 一月 1 8 1
002 二月-1 10 2
002 三月 1 日。 。
我使用了 JRP 公式,但无论第一个度量是否缺失,它都会计算每一行。
回复:如何指定开始日期?谢谢!
我一直在尝试学习 JMP 编程,这种交互很有帮助,尤其是当书中没有奇怪的请求时。回复:如何指定开始日期?我附上了新版本的公式。 它应该按照您最新的修改所述工作。
请注意,讨论社区并不是一个“代码工厂”。 它的目的是帮助用户解决问题,以便他们可以学习并从中解决自己的问题。
JMP 提供了大量文档。 请前往
帮助==>书籍==>使用JMP
和
帮助==>书籍==>脚本指南
回复:如何指定开始日期?伟大的! 感谢您的澄清和修改后的公式! 我很感激。
除非缺少的模式是混合的,否则修订有效。 例如,请参阅下面的“Site=001”,我的结果与修改后的公式(计数)以及我希望它给我的结果类似。
站点日期 Var1 计数 What_I_Want
001 五月。 。 。
001 2010 年 6 月 1 1
001 七月 . 。 。
001 八月 12 日。 2
001 九月 15 日。 3
002 5 月 13 日 1 1
002 14 月 2 日 2 2
回复:如何指定开始日期?1.我附上了一个新的示例数据表,其中包含处理您所请求内容的新公式
2. 是的,您需要将 :ID 列名称更改为重新启动计数器的变量名称,并将 :Var 1 更改为测量列名称。
3. 您不应该更改名为“TheColumn”的内存变量的名称;这不是列名,它只是用于在公式中进行一些计算。 在新公式中,我将变量名称更改为“Zippy”,试图表明它与任何列名称都不相关。 与公式末尾变量的最终列表的唯一连接。 JMP 接受最后指定的内容(在本例中为 Zippy 的计算值),并将其传递给要用于正在应用格式的列以及当前正在处理公式的行的值。
2. Is Missing() 是一个函数,如果函数“:Var 1”的内容是缺失值,则该函数将返回 1。如果该值不缺失,则返回 0。“==” " 是“等于”的比较运算符。 因此“== 0”询问“Is Missing()”函数是否返回“0”,这表明变量值是有效值。
回复:如何指定开始日期?吉姆,
感谢您的关注。
1.我们可以让Count列在值缺失时停止计数吗? 在您的示例中,它会重复最后的计数,大概会这样做,直到 ID 号发生变化。
2.我复制并粘贴了你的公式。 我在公式中唯一更改的是变量的名称,以便它与我的数据集完全匹配。
3. 我的任何变量名称中都没有出现“count”一词。 我将“TheCount”变量重命名为“Column 10”并收到相同的错误消息。 我还尝试重命名我的站点变量。 同样的问题。
4.我使用的是 JMP Pro 13.1
缺少 (Var1) == 0 那么 TheCount=1
翻译为如果 Var1 缺失,则新变量 (TheCount)=1? 但是“==0”有什么作用呢?
这就是我所拥有的,包括我的变量名称。
如果(落后( : 站点 ID ) != : 站点 ID,
如果(不见了(:NozeroValue) == 0 ,
:第 10 栏 = 1 ,
:第 10 栏 = 。
),
如果(不见了(:NozeroValue) == 0 ,
:第 10 栏 =和(:第 10 栏, 1 )
)
);
:第 10 栏;
回复:如何指定开始日期?我看来您打开了我附加的数据表。 从您的陈述中,您可以看到 Count 列的值。 如果您看到这些值,则说明该公式有效。 计数仅变为 2 的原因是,当 ID 列更改时计数会重置,计数器会重新启动,就像您提供的示例中一样。
您是否更改了我提供的公式中的任何内容? 如果您尝试在名为“Count”的列的公式中使用名称“Count”,则可能会发生递归问题。 这就是为什么我使用变量名称“TheCount”进行计算。 该公式将使用计算的最后一项传递给用于公式的值
最后,您使用的是哪个版本的 JMP?
回复:如何指定开始日期?唔。 同样的错误消息。 我给你的数据是我编的,但思路是一样的,只是ID是我数据中的字符。 这会有所不同吗?
另外,请注意您的公式在 2 处停止计数。
谢谢!
回复:如何指定开始日期?附件是一个数据集,其中包含列计数的公式集
回复:如何指定开始日期?这个公式给了我以下错误
“非法引用(递归)1 次,行数:2”
我按照公式计算,但不知道错误在哪里。
回复:如何指定开始日期?这是可行的公式的一种版本
If( Lag( :ID ) != :ID,
If( Is Missing( :Var1 ) == 0,
TheCount = 1,
TheCount = .
),
If( Is Missing( :Var1 ) == 0,
TheCount = Sum( TheCount, 1 )
)
);
TheCount;