添加与R中温度相关的条件为“热”或“冷”的列
我想创建一个新列,条件是temperature>80在行中显示为热,否则在行中显示为冷 这是我的代码:添加与R中温度相关的条件为“热”或“冷”的列,r,dplyr,R,Dplyr,我想创建一个新列,条件是temperature>80在行中显示为热,否则在行中显示为冷 这是我的代码: tempcat_aq <- aq %>% group_by(aq$Temp) %>% mutate(TempCat = if(any(aq$Temp > 80) "hot" else "cold")) 我正在使用R和dplyr库中内置的空气质量数据帧 感谢您的帮助。在使用dplyr管道时不要使用$,它不需要,而且会破坏分组 li
tempcat_aq <- aq %>% group_by(aq$Temp) %>% mutate(TempCat = if(any(aq$Temp > 80) "hot" else "cold"))
我正在使用R和dplyr库中内置的空气质量数据帧
感谢您的帮助。在使用dplyr管道时不要使用$,它不需要,而且会破坏分组
library(dplyr)
aq <- airquality
tempcat_aq <- aq %>%
group_by(Temp) %>%
mutate(TempCat = if(any(Temp > 80)) "hot" else "cold")
在使用dplyr管道时不要使用$,它不是必需的,并且会破坏分组
library(dplyr)
aq <- airquality
tempcat_aq <- aq %>%
group_by(Temp) %>%
mutate(TempCat = if(any(Temp > 80)) "hot" else "cold")
如mt1022所示,一个简单的基础ifelse就足够了:
aq$tempcat <- ifelse(aq$Temp > 80, 'hot', 'cold')
如mt1022所示,一个简单的基础ifelse就足够了:
aq$tempcat <- ifelse(aq$Temp > 80, 'hot', 'cold')
略短,不使用$:
略短,不使用$: 根据Ronak和SteveM的建议,您可以在dplyr工作流中使用ifelse
library(dplyr)
tempcat_aq <- aq %>%
group_by(Temp) %>%
mutate(TempCat = ifelse(Temp > 80, "hot","cold")))
根据Ronak和SteveM的建议,您可以在dplyr工作流中使用ifelse
library(dplyr)
tempcat_aq <- aq %>%
group_by(Temp) %>%
mutate(TempCat = ifelse(Temp > 80, "hot","cold")))
看来你需要的是ifelse或ifelse,而不是ifelse。。。else…我可以问你为什么把数据分组在这里吗?似乎你需要ifelse或if_else,而不是if else。。。还有…我可以问你为什么把数据分组在这里吗?谢谢!无论是单独使用ifelse还是if and else,或者仅仅是编写代码的一种较短的方式,在效率上有什么区别吗?我从来没有在一个巨大的数据集上进行过比较。但是R的矢量化范例指向简单的单线ifelse解决方案。谢谢!无论是单独使用ifelse还是if and else,或者仅仅是编写代码的一种较短的方式,在效率上有什么区别吗?我从来没有在一个巨大的数据集上进行过比较。但R的矢量化范式指向简单的单线ifelse解决方案。