我是R.的新手。我的条件是假的
> mydata[[1,7]]==3.0
[1] FALSE
但是,当我对它使用'if condition'时,即使条件为false,if条件下的语句也会被执行。你能告诉我我错过了什么吗?
代码 -
rm(list = setdiff(ls(), lsf.str()))
mydata = read.table("path/file",header = TRUE);
if(mydata[[1,7]]==3.0) #false statement
{
brit_W1<-mydata[[1,5]]
}
控制台 -
> brit_W1
[1] 333
我也用调试器检查了这个(这表明正在执行if下的语句)。我多次清除所有变量以删除以前的值,但没有用。
我的数据
GRID I J K BRITTSME SWETSMEB USERPROR
ROOT 1 1 1 333.000 56.000 0.000
答案 0 :(得分:0)
我认为,只需使用rm(list=ls())
清除所有本地创建的对象,然后再次运行。如果问题仍然存在,请同时指定您的数据框。
您始终可以使用ls()
查看这些对象。如果您只想删除一些对象(a,b和c),请执行rm(a,b,c)