Я пытаюсь, как говорится в заголовке, изменить элементы из моего кадра данных с одного символа на другой. Кадр данных выглядит следующим образом:
g1=c("CC","DD","GG")
g2=c("AA","BB","EE")
g3=c("HH","II","JJ")
df=data.frame(g1,g2,g3)
Я хочу преобразовать элементы из формата письма в формат буквы / буквы (например, CC в C / C или AA в A / A)
Я знаю, что использование "strsplit" будет работать со списком.
Я также знаю, что мне нужно как-то включить: collapse = "/"
Как бы я мог применить функцию strsplit ко всему фрейму данных?
Я думал о чем-то вроде:
split=function(x)
{
unlist(paste(strsplit(x,""),collapse="/"))
}
j=as.data.frame(apply(df,1,split))
но это не дает желаемых результатов.
Обновление ----------------
Видимо, работает следующий скрипт:
split=function(x)
{
paste(unlist(strsplit(x,"")),collapse="/")
}
p=apply(df,c(1,2),split)
Если есть более эффективный или удобный способ, пожалуйста, не стесняйтесь поделиться.