使用哪个(),!is.na()和参数如[1,]

时间:2017-01-20 17:59:55

标签: r which

有人可以准确描述(部分理解)以下行的内容吗?

which(!is.na(table[1,]))

1)table[1,] =?第1行或第1列或名为“table”的文件?

2)!is.na =为什么!? (is.na用于消除NA!的原因?通常,!代表负数(不等于)。

1 个答案:

答案 0 :(得分:1)

如果我们将功能拆分成碎片,

table[1,]

对数据集的第一行进行子集

is.na(table[1,]

检查第一行是否有NA值。它将返回逻辑元素的向量(NA为TRUE,非NA为FALSE)。

!是否定运算符。因此,它会将TRUE转换为FALSE,反之亦然,为TRUE值提供非NA的逻辑元素向量

!is.na(table[1,]

最后which包装器给出了TRUE值的数字索引

为了演示一个例子,我们说matrix

 m1 <- matrix(c(NA, 0, 1, 2), 2, 2)

然后,如果我们按照步骤

m1[1,] #returns the 1st row as a vector
#[1] NA  1

is.na(m1[1,]) #returns TRUE for NA
#[1]  TRUE FALSE

!is.na(m1[1,]) #returns TRUE for non-NA elements
#[1] FALSE  TRUE

which(!is.na(m1[1,]))
#[1] 2