Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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
在中与'dplyr'动词一起使用无引号字符串:'select'和'arrange'的工作方式不同_R_Dplyr_Tidyeval - Fatal编程技术网

在中与'dplyr'动词一起使用无引号字符串:'select'和'arrange'的工作方式不同

在中与'dplyr'动词一起使用无引号字符串:'select'和'arrange'的工作方式不同,r,dplyr,tidyeval,R,Dplyr,Tidyeval,我正在尝试取消引用一个字符串,以便在dplyr::arrange中使用。它似乎不起作用。但是,它在dplyr::select中似乎工作正常。 我是错过了什么还是做错了什么 图书馆管理员 df A TIBLE:3 x 1 >y > > 1 8 > 2 6 > 3 3 df%>%选择!!v >一个tibble:3x1 >y > > 1 8 > 2 6 > 3 3 `安排“不使用”!!五` df%>%排列 >一个tibble:3x2 >xy

我正在尝试取消引用一个字符串,以便在dplyr::arrange中使用。它似乎不起作用。但是,它在dplyr::select中似乎工作正常。 我是错过了什么还是做错了什么

图书馆管理员 df A TIBLE:3 x 1 >y > > 1 8 > 2 6 > 3 3 df%>%选择!!v >一个tibble:3x1 >y > > 1 8 > 2 6 > 3 3 `安排“不使用”!!五` df%>%排列 >一个tibble:3x2 >xy > > 1 3 3 > 2 2 6 > 3 1 8 df%>%排列!!v >一个tibble:3x2 >xy > > 1 1 8 > 2 2 6 > 3 3 3
您需要先使用sym将字符串转换为变量,然后在arrange内将其解压缩

df%>%排列!!symv >一个tibble:3x2 >xy > > 1 3 3 > 2 2 6 > 3 1 8 select可以直接接受字符串输入,但不推荐使用

df%>%selectv >注意:在选择中使用外部向量是不明确的。 >我用'all_of v'而不是'v'使这条消息静音。 >我明白了。 >此消息在每个会话中显示一次。 >一个tibble:3x1 >y > > 1 8 > 2 6 > 3 3 由v0.3.0于2020年11月21日创建。在选择动词时,请使用全部或任何。如果数据框中不存在所有变量,则前者会导致错误,后者比较宽松,通常对取消选择更有用

df%>%selectall\u of v >一个tibble:3x1 >y > > 1 8 > 2 6 > 3 3 在动作动词(如arrange或mutate)中,通过将.data代词子集化来选择单个变量:

df%>%arrange.data[[v]] >一个tibble:3x2 >xy > > 1 3 3 > 2 2 6 > 3 1 8 您还可以在动作动词中使用以下选项:

df%>%排列在Y中 >一个tibble:3x2 >xy > > 1 3 3 > 2 2 6 > 3 1 8 这意味着您也可以使用的所有_从字符向量中进行选择:

df%>%排列在V的所有单元上 >一个tibble:3x2 >xy > > 1 3 3 > 2 2 6 > 3 1 8
通常使用.data比使用sym更好。后者在大多数情况下都能很好地工作,但在极少数情况下可能会出现问题。一般来说,如果你没有很好地掌握NSE,最好还是坚持使用{{和.data。关于传递字符串以进行选择,只需按照警告消息中的建议将其全部打包即可。谢谢@LionelHenry!