RI, aşağıdaki örnekte olduğu gibi bir if deyiminde bir benzerlik yapmak ister. Burada, kırmızı kelimeyi içeren ve yeni bir değişken ayarlayan $ color sütunundaki herhangi bir renkte arama yaptığım veri çerçevesinde karıştırmak için kırmızı renk.R if ifadesinde nasıl kullanılır?
mix$newcolor <- if(grep("Red",mix$color) "red"
Ve burada dataframe karışımı için bazı örnek veri:
Uyarı mesajı:
AliceBlue blueviolet DarkRed bu hata mesajını alıyorum
MediumVioletRed : İçinde (grepl ("koyu kırmızı"), $ co karıştırın lor) == TRUE) "kırmızı": koşul vardır uzunluğu> 1 ve o kabul edilebilir ama bu yüzden grepl bir DOĞRU veya FALSE değeri dönen gerektiğini düşünüyorum
sadece ilk unsur kullanılacak bir şey (veya çok) eksik.
Yardımlarınız için teşekkürler. Bu görev için if
veya ifelse
gerekmez
> color = c("AliceBlue", "BlueViolet", "DarkRed", "MediumVioletRed")
> ifelse(grepl("Red",color),"red","other")
[1] "other" "other" "red" "red"
Normalse ve başkaları yerine vektörize edilmiş "ifelse" ye ihtiyacınız var. Ayrıca grepl kullanırken == true değerine de ihtiyacınız yoktur. –
Evet, bu bir şampiyon gibi çalıştı. Daha önce ifelse kullanmayı düşünmüştüm ama başka bir parçaya yığılmıştım ama sadece yeni bir karışımı karıştırıyorum. Boş ya da dönüştürülmüş bir değere sahip olacak. Teşekkürler. – Jazzmine
ifelse'nin bir avantajı, onları kolayca yerleştirebilmenizdir. Renk vektörünüzü "saf" renklere dönüştürmek istediğinizi varsayalım: 'renk = c (" AliceBlue "," BlueViolet "," DarkRed "," MediumVioletRed "," DarkGreen "); ifelse (grepl ("kırmızı" "Kırmızı", renk), ifelse (grepl ("Yeşil", renk), "yeşil", ifelse (grepl ("Mavi", renk), "mavi",) "öteki")) – xraynaud