Я пытаюсь объединить фрейм данных и вектор, а не точные совпадения строк в столбце, но с помощью подстановочных строк. Для того, чтобы уточнить, что у вас есть этот dataframe:Рамка данных подстановочных знаков
v <-data.frame(X1=c("AGTACAGT","AGTGAAGT","TGTA","GTTA","GAT","GAT"),X2=c(1,1,1,1,1,1))
# X1 X2
# 1 AGTACAGT 1
# 2 AGTGAAGT 2
# 3 TGTA 3
# 4 GTTA 4
# 5 GAT 5
# 6 GAT 6
Я хочу создать dataframe, создавая различные цвета для каждого AGT.{3}GT
, .{T|G}TA
, GAT
шаблон и создать новый столбец X3
, что бы показать, что цвет. Так что-то вроде этого:
# X1 X2 X3
# 1 AGTACAGT 1 "#FE7F01"
# 2 AGTGAAGT 2 "#FE7F01"
# 3 TGTA 3 "#FE7F00"
# 4 GTTA 4 "#FE7F00"
# 5 GAT 5 "#FE8002"
# 6 GAT 6 "#FE8002"
До сих пор я использую это, чтобы создать цвета для каждого уровня, но я не знаю, как посчитать, сколько «уровни шаблонных», в отличие от особых уровней есть:
x <- nlevels(v$X1)
x.colors2 <- colorRampPalette(brewer.pal(8,"Paired"))(x)
G <- data.frame("X1"=levels(v$X1),"X3"=x.colors2)
v <- merge(v,G)