我在使用dplyr::filter函数中的paste0时遇到了一些问题,希望得到一些帮助。我粘贴了下面的代码。当我运行它时,我得到的结果是0行而不是2行。
sig_time_hours_results1 <- data.frame (ID = c("value_1", "value_2", "value3", "value4"),
Pval_time_hours8h = c(1.00, 0.005, 0.006, 0.2)
)
hour = "8h"
Pval_time_hours <- paste0("Pval_time_hours", hour)
sig_time_hours_results2 <- dplyr::filter(sig_time_hours_results1, paste0(Pval_time_hours) < 0.05)
2条答案
按热度按时间bqjvbblv1#
我们可以将
.data
与[[
一起使用bf1o4zei2#
在使用字符串作为列名时需要更加小心。不能只使用'paste0()将字符串转换为列名。一种方法是使用tidyseselector。例如
即使我们只检查一列,我们仍然使用
if_all
来确保过滤器有效。