另外,若要同时对所选择的多列应用函数,还有强大的 across() 函数,它支持各种选择列语法,搭配 mutate() 和summarise() 使用,产生非常强大同时修改/汇总多列的效果。 2.5.1 选择列 选择列,包括对数据框做选择列、调整列序、重命名列。 下面以虚拟的学生成绩数据来演示,包含随机生成的 20 个 NA: ...
mutate(FDR = p.adjust(.$PValue %>% unlist(),method = "BH")) # p.adjust对P值FDR校正,算法选择BH dfP_FDR dfR = dfFC %>% left_join(dfP_FDR) %>% tibble() %>% mutate(Sig= case_when( FC >FCLimit & PValue < PValueLimit ~ "Up", FC < 1/FCLimit & PValue < PValueLimit ...
代码语言:javascript 复制 tibble(fruit=stringr::fruit)%>%mutate(category=allCaseWhen(fruit,conditions$pattern,#读取条件 conditions$result #返回结果)) 搞定。 函数的核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。 没有写默...
mutate(across(starts_with("A"),as.Date)) 1. 2. 3. 4. 生成第一个变量 生成第一个变量的思路比较简单,只需要根据Year中的年份提取相应列中的数据即可。直接的方法是使用多层的if语句,不过dplyr工具包提供了一个更快捷的函数case_when(): test %<>% mutate(t1 = case_when( Year == "2020"~A2020...
在这种情况下,sample函数不会以您想要的方式进行向量化。我们可以使用if_else代替
mutate_all() 将对所有列进行操作 mutate_if()首先需要一个返回布尔值,如果是T,则将在这些变量上执行mutate指令 mutate_at()要求在vars() 参数内指定要进行改变的列 将所有数据转换为小写: msleep%>%mutate_all(tolower) name genus vore order conservation sleep_total sleep_rem<chr><chr><chr><chr><chr...
tidyverse中的case_when()函数是一个非常强大的函数,可以用来进行多条件判断和赋值操作。首先,case_when()函数需要至少两个参数:一个是要进行判断的向量,另一个是要进行赋值的向量。例如: library(tidyverse)df<-tibble(x=1:10)df%>%mutate(y=case_when(x<5~"low",x>=5&x<8~"medium",x>=8~"high")...
在这种情况下,sample函数不会以您想要的方式进行向量化。我们可以使用if_else代替
mutate(group_1 = case_when( value <= 0 ~ "A", TRUE ~ "B" ))%>% mutate(group_2=case_when( value >= -1 & value < -0.7 ~ "[-1,-0.7)", value >= -0.7 & value < -0.5 ~ "[-0.7,-0.5)", value >= -0.5 & value < -0.3 ~ "[-0.5,-0.3)", ...
以便右边的值是下面的值(即lead(value))。不确定如果两个相邻列都有'99999'值时需要什么行为。