我有一个非常大的 Dataframe 。
假设我有这样的东西:
> p
fu2_difftime_mridate_d_date fu2_difftime_premri fu2_difftime_prevfu fu2_difftime_fudate_d_date
1 30.4 12.7 -14.2 6.4
2 12.9 -48.1 -47.6 13.3
我想忽略所有包含0和负值的列,我在dplyr
中寻找一个解决方案,它创建了一个新的协变量,包含所有包含0或负值的列:
> p
negvalues fu2_difftime_premri fu2_difftime_prevfu fu2_difftime_fudate_d_date
1 "fu2_difftime_prevfu" 12.7 -14.2 6.4
数据类型
p <- structure(list(fu2_date = structure(c(15428, 13746), class = "Date"),
fu2_mri_date = structure(c(16156, 13732), class = "Date"),
fu2_difftime_mridate_d_date = c(30.4, 12.9), fu2_difftime_premri = c(12.7,
-48.1), fu2_difftime_prevfu = c(-14.2, -47.6), fu2_difftime_fudate_d_date = c(6.4,
13.3)), row.names = 1:2, class = "data.frame")
3条答案
按热度按时间zqdjd7g91#
下面是一个tidyverse解决方案。基本上我们在所有列上进行测试(注:across(,..与across(everything(),...)相同如果值为负,则
. < 0
如果为真给予当前列名,其中:cur_column()
。此后,我们必须使用unite
:t40tm48m2#
碱R溶液可以是,
dba5bblo3#
tidyverse
解决方案: