Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是什么;意思是;在这个代码块的R中?_R_List_If Statement_Tidyverse_Na - Fatal编程技术网

这是什么;意思是;在这个代码块的R中?

这是什么;意思是;在这个代码块的R中?,r,list,if-statement,tidyverse,na,R,List,If Statement,Tidyverse,Na,我知道那里有很多资源。我非常高兴能收到一些好的提示,因为初学者很难真正知道什么是好的资源。我的问题是下面代码中的和~的实际含义是什么。 我知道他们将所有-1s和99s编码为NA。但为什么会有这么复杂的语法呢 mutate_all(df, list(~ifelse(. %in% c(-1, 99), NA, .) 因此有一个data.framedf,它有几个列。在所有情况下,NAs的编码为-1或99。 我认为dplyr也有一个naif-函数。这不是更容易在这里使用吗 他们正在使用mutate_a

我知道那里有很多资源。我非常高兴能收到一些好的提示,因为初学者很难真正知道什么是好的资源。我的问题是下面代码中的
~
的实际含义是什么。 我知道他们将所有
-1
s和
99
s编码为NA。但为什么会有这么复杂的语法呢

mutate_all(df, list(~ifelse(. %in% c(-1, 99), NA, .)
因此有一个
data.frame
df
,它有几个列。在所有情况下,NAs的编码为-1或99。
我认为
dplyr
也有一个
naif
-函数。这不是更容易在这里使用吗

他们正在使用
mutate_all
函数更改/变异表中的所有列
df
在base R中您将拥有
df[]他们正在使用
mutate_all
函数更改/变异表中的所有列
df
在base R中您将拥有
df[]
这里指的是当前列值,相当于@sindri_baldur和@Data Science共享的
lapply
基本R版本中的
x

lapply(df, function(x) ifelse(x %in% c(-1, 99), NA, x))
~
然而是一种quosure风格的lambda符号,主要是一种风格偏好。您可以跳过该选项,使用与使用匿名函数相同的语法,该函数也可以工作

dplyr::mutate_all(df, function(x) ifelse(x %in% c(-1, 99), NA, x))
在您的尝试中,您还可以放开
列表
,然后像这样使用它

dplyr::mutate_all(df, ~ifelse(. %in% c(-1, 99), NA, .))

这里指的是当前列值,它相当于@sindri_baldur和@Data Science共享的
lapply
基本R版本中的
x

lapply(df, function(x) ifelse(x %in% c(-1, 99), NA, x))
~
然而是一种quosure风格的lambda符号,主要是一种风格偏好。您可以跳过该选项,使用与使用匿名函数相同的语法,该函数也可以工作

dplyr::mutate_all(df, function(x) ifelse(x %in% c(-1, 99), NA, x))
在您的尝试中,您还可以放开
列表
,然后像这样使用它

dplyr::mutate_all(df, ~ifelse(. %in% c(-1, 99), NA, .))

这是来自
dplyr
包的语法,大致翻译成base
R
如下:
df[]这是来自
dplyr
包的语法,大致翻译成base
R
如下:
df[]