Предположим, что у нас есть кадр данных, как показано ниже:Заменить общую строку через два столбца со строкой из другого столбца в dataframe в R
test<-data.frame(v1=c(1:10),v2=c(rep("a x",10)),v3=c(rep(c("a b","a c","a d","a e","a f"),2)),v4=c((rep("p",5)),rep("q",5)))
В принципе, нам нужно заменить «а» в строках колонн 2 и 3 с строкой, указанной в колонке 4. фрейм данных результата в идеале должен выглядеть следующим образом:
result<-data.frame(v1=c(1:10),v2=c(rep("p x",5),rep("q x",5)),v3=c("p b","p c","p d","p e","p f","q b","q c","q d","q e","q f"),v4=c((rep("p",5)),rep("q",5)))
попытался следующий, чтобы получить тот же:
for (i in 1:nrow(test))
{
test[i,2]<-gsub("a",test[i,4],test[,2])
test[i,3]<-gsub("a",test[i,4],test[,3])
}
Вы также попытались использовать функции приложения, но не смогли достичь желаемого результата.
Любая помощь в этом отношении будет высоко оценена. Заранее спасибо!