function(x) 在 R 中是如何工作的?
How function(x) works in R?
data =data.frame(sapply(data,function(x) ifelse((x==999),NA,x)))
你能解释一下 function(x)....,x 是如何工作的吗?我知道这个函数的输入和输出是什么,它只是用数据框中的 NA 替换了 999 个值,但我想知道这个函数 (x) 在一般情况下是如何工作的。
这是你的函数,名称为 my_func
:它接受一个值 x 检查它是否为 999,如果不是它返回 x 的值,如果是它返回 999 :
my_func <- function(x) {
ifelse(x==999, NA, x)
}
您现在可以按如下方式使用此功能:
- 命名函数独立:
my_func(mtcars$mpg)
- 作为具有
lapply
或 sapply
的命名函数 ...
基本上 sapply
R 中的函数与 lapply()
函数的作用相同,但 returns 一个向量:
- lapply(X, 乐趣)
参数:
-X: 向量或对象
-FUN: 函数应用于x
的每个元素
lapply(mtcars$mpg, my_func)
- sapply(X, FUN)
参数:
-X:向量或对象
-FUN:应用于x
的每个元素的函数
sapply(mtcars$mpg, my_func)
现在你的问题:
在这种情况下,您可以直接使用函数 my_func
,而无需首先定义或命名为 匿名函数(意味着该函数没有名称),例如:
lapply(mtcars$mpg, function(x) ifelse(x==999, NA, x))
注意:本质上在 function(x)
之后是您命名函数的主体部分 my_func
。
data =data.frame(sapply(data,function(x) ifelse((x==999),NA,x)))
你能解释一下 function(x)....,x 是如何工作的吗?我知道这个函数的输入和输出是什么,它只是用数据框中的 NA 替换了 999 个值,但我想知道这个函数 (x) 在一般情况下是如何工作的。
这是你的函数,名称为 my_func
:它接受一个值 x 检查它是否为 999,如果不是它返回 x 的值,如果是它返回 999 :
my_func <- function(x) {
ifelse(x==999, NA, x)
}
您现在可以按如下方式使用此功能:
- 命名函数独立:
my_func(mtcars$mpg)
- 作为具有
lapply
或sapply
的命名函数 ...
基本上 sapply
R 中的函数与 lapply()
函数的作用相同,但 returns 一个向量:
- lapply(X, 乐趣) 参数: -X: 向量或对象 -FUN: 函数应用于x 的每个元素
lapply(mtcars$mpg, my_func)
- sapply(X, FUN) 参数: -X:向量或对象 -FUN:应用于x 的每个元素的函数
sapply(mtcars$mpg, my_func)
现在你的问题:
在这种情况下,您可以直接使用函数 my_func
,而无需首先定义或命名为 匿名函数(意味着该函数没有名称),例如:
lapply(mtcars$mpg, function(x) ifelse(x==999, NA, x))
注意:本质上在 function(x)
之后是您命名函数的主体部分 my_func
。