全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3142 5
2008-03-09

本人正在做一个蒙特卡罗试验,

现在要统计显著系数的个数,于是用了这个命令

sig <-ifelse(t.ols>1.96,1,0)


在1000次循环中,如果OLS估计的t -test 值大于1.96,就赋值1,否则就是0,然后统计所有1的总数.

但是意识到t test 值小于-1.96的情况没有考虑进去,但是用"和"命令又不成功,请问怎么解决这个问题?

正确的命令应该怎么写呢,thx a lot!

[此贴子已经被作者于2008-3-9 10:25:49编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-3-9 13:00:00

我不知道你说的用"和"命令不成功是什么意思.

但是.

顺着你这个思路继续下去就可以了

你先把大于1.96的个数得到

sig[j] <-ifelse(t.ols<-1.96,1,0)

在统计这个为1的个数

然后两个数据加总不就可以了.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-10 02:29:00

我试验了两种方法,一个是像你说的,再写一行< -1.96的命令,结果运行出错,

另一个是把命令改成 〉1.96 and < -1.96,还是不行,好像if 命令里面的条件不能超过一个。

我现在是这么做的:sig <-ifelse (abs(t.ols)> 1.96,1,0)

用这么绝对值命令好像是可行的。

谢谢回复!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-10 11:17:00

但是用"和"命令又不成功

另一个是把命令改成 〉1.96 and < -1.96,有意思了。

这是你的两次回复。

虽然你问题解决了

但是我还是要告诉你。

在R里,和运算不是and

难怪你会出错。

R的和运算是&

你再试试这个,

最后

也感谢你给我提供了一种方法,

取绝对值

好主意

多谢!!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-10 11:28:00

我都被你搞晕了

搞的我自己都不知道怎么回事了

刚刚反应过来

你这个问题怎么是用“和”运算呢。

因为你要选出所有小于-1.96和大于1.96的个数。

你想一下,

如果用“和”运算,一个数字怎么可能既小于-1.96又大于1.96呢,

所以~~~~~~~嘿嘿

这个是用“或”运算

如下:

> x<-1:10
> y<-ifelse(x<3|x>7,0,1)
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> y
 [1] 0 0 1 1 1 1 1 0 0 0

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-11 05:51:00

嗯,你的方法也没有报错,应该是可行的.

小妹是初学者,以后有什么问题还烦请大哥指教则个!

这厢有礼了!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群