d*******a 发帖数: 518 | 1 x= c(1,2,NA,4,5)
is.na(x) 和 x==NA 有什么不同?
谢谢。 | s*****n 发帖数: 2174 | 2 一般有NA参与的运算, 结果都是NA
所以NA要用特殊的函数来操作, 比如 is.na()
你试试 is.na(x) 和 x == NA 各输出什么结果就明白了.
NA的处理是R里面一个重要的部分, 掌握好这个会提高一大块.
如果是刚学R的话, 基于你写的R语句, 给你几个建议:
1. 赋值用 <-, 尽量不要用 =
2. 逗号后面加空格
3. 二元运算前后加空格, 比如 <-, =和== .
比如最好写成这样:
x <- c(1, 2, NA, 4, 5)
x == NA
【在 d*******a 的大作中提到】 : x= c(1,2,NA,4,5) : is.na(x) 和 x==NA 有什么不同? : 谢谢。
| d*******a 发帖数: 518 | 3 多谢你的建议
所以你是说, is.na 相对于可以对 NA 有效运算的特殊函数,而 == 则属于一般的函数
,是这个意思吗?
【在 s*****n 的大作中提到】 : 一般有NA参与的运算, 结果都是NA : 所以NA要用特殊的函数来操作, 比如 is.na() : 你试试 is.na(x) 和 x == NA 各输出什么结果就明白了. : NA的处理是R里面一个重要的部分, 掌握好这个会提高一大块. : 如果是刚学R的话, 基于你写的R语句, 给你几个建议: : 1. 赋值用 <-, 尽量不要用 = : 2. 逗号后面加空格 : 3. 二元运算前后加空格, 比如 <-, =和== . : 比如最好写成这样: : x <- c(1, 2, NA, 4, 5)
| s*****n 发帖数: 2174 | 4 对. NA就是"不知道".
对一个不知道的东西使用 == 比较,
得到的东西还是"不知道".
你想检验一个东西到底是不是"不知道"
就要用 is.na()
比如
> is.na(NA)
[1] TRUE
> NA == NA
[1] NA
> sum(is.na(c(1, 2, NA)))
[1] 1
> sum(c(1, 2, NA) == NA)
[1] NA
函数
【在 d*******a 的大作中提到】 : 多谢你的建议 : 所以你是说, is.na 相对于可以对 NA 有效运算的特殊函数,而 == 则属于一般的函数 : ,是这个意思吗?
| l******d 发帖数: 1633 | 5 didn't see the difference of
x <- c(1, 2, NA, 4, 5) and x = c(1, 2, NA, 4, 5)
what's special about <-?
【在 s*****n 的大作中提到】 : 一般有NA参与的运算, 结果都是NA : 所以NA要用特殊的函数来操作, 比如 is.na() : 你试试 is.na(x) 和 x == NA 各输出什么结果就明白了. : NA的处理是R里面一个重要的部分, 掌握好这个会提高一大块. : 如果是刚学R的话, 基于你写的R语句, 给你几个建议: : 1. 赋值用 <-, 尽量不要用 = : 2. 逗号后面加空格 : 3. 二元运算前后加空格, 比如 <-, =和== . : 比如最好写成这样: : x <- c(1, 2, NA, 4, 5)
| s*****n 发帖数: 2174 | 6 没什么区别, 只是意义上更清晰, 就和行缩进行对齐一样, 属于推荐的编程习惯.
【在 l******d 的大作中提到】 : didn't see the difference of : x <- c(1, 2, NA, 4, 5) and x = c(1, 2, NA, 4, 5) : what's special about <-?
| l******d 发帖数: 1633 | 7 en, 从其他语言过来的,不喜欢 <-
【在 s*****n 的大作中提到】 : 没什么区别, 只是意义上更清晰, 就和行缩进行对齐一样, 属于推荐的编程习惯.
| B******y 发帖数: 9065 | |
|