r 软件 - 识别 table 列中的对象,多于或少于
r software - identify objects in table column, more than, or less than
我会尽力解释我的疑问。
我有一个 table,其中包含一些变量 X、Y、Z,例如。
每个变量都有数值。
所以,假设我有
RDIST RDENS AGR BLF
1 146 0.000 0 0.0
2 338 0.000 0 0.0
3 931 0.000 0 3.7
我正在尝试识别异常值,所以我使用了 dotchart。
但是现在,我想知道在每个变量中,我在哪个观察中有异常值。
使用 list(x$BLF>3)
命令,我得到一个带有 TRUE
或 FALSE
值的 table。但我需要知道的是异常值是在观测值 2、3 还是 145 中。
我同意@MrFlick。 which()
是最好的方法。如果你想采取下一步并删除那些你可以做的异常值
x$BLF<-x$BLF[-which(x$BLF>3)]
获取 MrFlick 正在谈论的那些索引,并使用 -
运算符从 BLF 列中删除这些条目。当然,在那之后你将它存储回同一列。实际上,真的不要按照我上面说的去做,因为如果你的数据存储在数据框中,R 会自动用它上面的值替换删除的值,以保持正确的列长度!
可能最好用这样的 NA 替换异常值 x$BLF[which(x$BLF>3)]<-NA
。或者你可以像这样从你的数据集中删除整行 x<-x[-which(x$BLF>3),]
你现在有逗号的原因是当你处理一个矩形数据框时你必须指定行,列,就像这样 [row I want, column I want]
所以我只是指定要删除的行,而没有指定列。
可能比您想要的要多,但我认为这可能有所帮助。
就是这样!谢谢你们!
现在,我只想确定每个变量的离群值。那个命令完全解决了我的疑问。
谢谢
我会尽力解释我的疑问。
我有一个 table,其中包含一些变量 X、Y、Z,例如。 每个变量都有数值。
所以,假设我有
RDIST RDENS AGR BLF
1 146 0.000 0 0.0
2 338 0.000 0 0.0
3 931 0.000 0 3.7
我正在尝试识别异常值,所以我使用了 dotchart。
但是现在,我想知道在每个变量中,我在哪个观察中有异常值。
使用 list(x$BLF>3)
命令,我得到一个带有 TRUE
或 FALSE
值的 table。但我需要知道的是异常值是在观测值 2、3 还是 145 中。
我同意@MrFlick。 which()
是最好的方法。如果你想采取下一步并删除那些你可以做的异常值
x$BLF<-x$BLF[-which(x$BLF>3)]
获取 MrFlick 正在谈论的那些索引,并使用 -
运算符从 BLF 列中删除这些条目。当然,在那之后你将它存储回同一列。实际上,真的不要按照我上面说的去做,因为如果你的数据存储在数据框中,R 会自动用它上面的值替换删除的值,以保持正确的列长度!
可能最好用这样的 NA 替换异常值 x$BLF[which(x$BLF>3)]<-NA
。或者你可以像这样从你的数据集中删除整行 x<-x[-which(x$BLF>3),]
你现在有逗号的原因是当你处理一个矩形数据框时你必须指定行,列,就像这样 [row I want, column I want]
所以我只是指定要删除的行,而没有指定列。
可能比您想要的要多,但我认为这可能有所帮助。
就是这样!谢谢你们!
现在,我只想确定每个变量的离群值。那个命令完全解决了我的疑问。
谢谢