在R数据框中设置虚拟变量,以便在ggplot2中按组打印

在R数据框中设置虚拟变量,以便在ggplot2中按组打印,r,pattern-matching,ggplot2,dataframe,R,Pattern Matching,Ggplot2,Dataframe,我在R中有一个数据框,我想添加虚拟变量,以便绘制不同的项目和不同的颜色 我的数据帧,df以下是一些可能的结构: categoryA <- c("AAA", "AAA", "BBB", "CCC", "DDD") special <- c("AAA", "DDD") # Create a dummy variable as.integer(categoryA %in% special) # [1] 1 1 0 0 1 # Create a color vector (2 metho

我在R中有一个数据框,我想添加虚拟变量,以便绘制不同的项目和不同的颜色


我的数据帧,
df以下是一些可能的结构:

categoryA <- c("AAA", "AAA", "BBB", "CCC", "DDD")
special <- c("AAA", "DDD")

# Create a dummy variable
as.integer(categoryA %in% special)
# [1] 1 1 0 0 1

# Create a color vector (2 methods shown)
c("green", "red")[categoryA %in% special + 1]
# [1] "red"   "red"   "green" "green" "red"  
ifelse(categoryA %in% special, "red", "green")
# [1] "red"   "red"   "green" "green" "red"  

categoryAUgh,发布之后,我从一位回答我之前问题的人那里了解到了这一点

df$dummy <- ifelse(df$categoryA %in% special,1,0)
categoryA <- c("AAA", "AAA", "BBB", "CCC", "DDD")
special <- c("AAA", "DDD")

# Create a dummy variable
as.integer(categoryA %in% special)
# [1] 1 1 0 0 1

# Create a color vector (2 methods shown)
c("green", "red")[categoryA %in% special + 1]
# [1] "red"   "red"   "green" "green" "red"  
ifelse(categoryA %in% special, "red", "green")
# [1] "red"   "red"   "green" "green" "red"  
df$dummy <- ifelse(df$categoryA %in% special,1,0)
scale_fill_manual(values=c("#00FFAA","#FF0000"), 
                       name="Legend",
                       breaks=c("TRUE", "FALSE"),
                       labels=c("Dummy", "No Dummy")) +