dplyr是一个R语言中用于数据处理和操作的包,而across()是dplyr包中的一个函数,用于在多个列上应用相同的操作。matches()是across()函数的一个参数,用于选择列名的模式匹配。
针对你提到的错误信息:"dplyr across matches()错误:输入..1
必须是向量,而不是函数",这个错误通常是因为在使用across()函数时,传递给matches()的参数不是一个有效的列名模式。在这种情况下,..1
被解释为一个函数,而不是一个列名。
为了解决这个错误,你需要确保传递给matches()的参数是一个有效的列名模式。列名模式可以是一个正则表达式,用于匹配多个列名,或者是一个字符向量,包含要匹配的具体列名。
以下是一个示例,展示了如何使用dplyr的across()函数和matches()参数来选择以"col_"开头的列,并对它们进行某种操作:
library(dplyr)
# 创建一个示例数据框
df <- data.frame(col_1 = 1:5,
col_2 = 6:10,
col_3 = 11:15,
other_col = 16:20)
# 使用across()和matches()选择以"col_"开头的列,并对它们进行某种操作(例如求和)
df <- df %>%
mutate(across(matches("^col_"), ~ . + 1))
# 输出结果
print(df)
在上述示例中,我们使用matches("^col_")作为across()函数的参数,它会选择所有以"col_"开头的列(在这个例子中是"col_1"、"col_2"和"col_3"),然后对它们进行加1的操作。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供相关链接。但你可以通过访问腾讯云的官方网站,查找与云计算相关的产品和服务,以获取更多信息。
领取专属 10元无门槛券
手把手带您无忧上云