如何将名称传递给像dplyr::distinct()这样的函数

如何将名称传递给像dplyr::distinct()这样的函数,r,R,我有一个五个数据框的列表,其中充满了用户对调查的反应 在每个数据帧中,第二列是用户id号。一些用户进行了多次调查,我试图剔除重复的回答,只保留第一条记录 命名约定相当标准,因此第一个数据框中的列被称为类似于survey1_id,第二个是survey2_id,等等。但第三个数据框中的列被称为survey3a_id除外 所以基本上我想做的是: for (i in seq(1,5)) { newdata <- distinct(survey_list[[i]], grep(names("^s

我有一个五个数据框的列表,其中充满了用户对调查的反应

在每个数据帧中,第二列是用户id号。一些用户进行了多次调查,我试图剔除重复的回答,只保留第一条记录

命名约定相当标准,因此第一个数据框中的列被称为类似于survey1_id,第二个是survey2_id,等等。但第三个数据框中的列被称为survey3a_id除外

所以基本上我想做的是:

for (i in seq(1,5)) {
  newdata <- distinct(survey_list[[i]], grep(names("^survey.*_id$", survey_list[[i]]), value = TRUE))
}
for(i在seq(1,5)中){

新数据大多数NSE dplyr函数都有一个
*.
备选方案,因此尝试
dplyr::distinct.
也可以查看
vignette(“NSE”)
了解有关dplyr
名称的非标准评估(NSE)的更多信息。此外,如果您喜欢,您可以使用自连接来避免SE:
survey\u list[[i]]%%>%select(matches(“^survey.*.\u id$”)%%>%distinct()%%>%left\u join(survey\u list[[i]])
大多数NSE dplyr函数都有一个
*.\uuuu
替代方法,因此请尝试
dplyr::distinct\u
还可以查看
vignette(“NSE”)
了解有关非标准评估(NSE)的更多信息当涉及到dplyr时,
names
处于错误位置。此外,如果您愿意,您可以使用自联接来避免SE:
survey\u list[[i]]%%>%select(matches(“^survey.*id$”))%%>%distinct()%%>%left\u-join(survey\u list[[i]])