Не красиво, но я думаю, что это работает.
# Create data frame
df <- data.frame(frequency = c(0.5, 0.6),
alels = c("C", "C, G, T"),
stringsAsFactors = FALSE)
# Duplicate the alels column, separate rows
# Requires magrittr, dplyr, tidyr
df %<>%
mutate(alels_check = alels) %>%
separate_rows(alels, sep = ",", convert = TRUE)
# Check for dupes and set them to zero
df[duplicated(df$frequency, df$alels_check),]$frequency <- 0
# Remove the duplicated alels column
df %<>% select(-alels_check)
Оригинал:
# frequency alels
# 1 0.5 C
# 2 0.6 C, G, T
Результат:
# frequency alels
# 1 0.5 C
# 2 0.6 C
# 3 0.0 G
# 4 0.0 T
Используя ваши данные:
# frequency alels
# 1 0.50 C
# 2 0.60 C, G
# 3 0.02 A, T, TTT
# frequency alels
# 1 0.50 C
# 2 0.60 C
# 3 0.00 G
# 4 0.02 A
# 5 0.00 T
# 6 0.00 TTT