Farklı topraklar için sütunlarda ve 16 grupta (basitleştirmek için 8 tane grubum var) birkaç değişken içeren bir veri kümem var ve transekt. Her grubun ortalaması ile barplot yapmak istiyorum. Ancak P_ero ve P_upsl, ZT_ero ve ZT_upls ve benzeri grafikte yanında gösterilmelidir. Verilerim (df) şu şekildedir: (farklı topraklar için karbon ve azot içeriği (örn. P-Plowing, ZT-zero toprak işleme)). Karbon içeriğininBir veri alt kümesinden bir tapply işlevinin sonuçlarındaki NA'lar nasıl kaldırılır
P<-df[grepl("(P)", df$group), ]; P
ve daha sonra aracı
tapply(X=P$C_cont,INDEX = P$name,FUN = mean,na.rm=TRUE)
Aslında sadece istiyorum:
name N_cont C_cont group
P_ero 1,064 8,380 1
P_ero 0,961 8,086 1
P_ero 0,977 8,331 1
ZT_ero 1,767 17,443 2
ZT_ero 1,802 18,264 2
ZT_ero 2,083 20,112 2
Ms_ero 1,547 14,380 3
Ms_ero 1,566 15,313 3
Ms_ero 1,505 14,760 3
Md_ero 1,512 14,303 4
Md_ero 1,656 15,331 4
Md_ero 1,500 13,788 4
P_upsl 1,121 10,581 5
P_upsl 1,159 10,460 5
P_upsl 1,223 10,171 5
ZT_upsl 1,962 20,656 6
ZT_upsl 1,784 16,780 6
ZT_upsl 1,720 17,482 6
Ms_upsl 1,578 16,228 7
Ms_upsl 1,634 15,331 7
Ms_upsl 1,394 13,419 7
Md_upsl 1,286 11,824 8
Md_upsl 1,241 11,452 8
Md_upsl 1,317 11,932 8
I (sürmek için) gibi, her bir toprak veri alt kümeleri yapılmıştır "name" sütununda "P" olan grupların anlamı, ancak sonuç olarak NA'larla diğer tüm grupları elde ederim:
P_ero ZT_ero Ms_ero Md_ero P_upsl ZT_upsl
8.265667 NA NA NA 10.404000 NA
Ms_upsl Md_upsl
NA NA
Bu yüzden NA'larla barplots yapamıyorum. Herkes biliyor mu, bu nasıl işe yarayabilir?
Bu, kullanılmayan faktör seviyelerini düşürmelidir: 'tapply (X = P $ C_cont, INDEX = faktör (P $ adı), FUN = ortalama, na.rm = DOĞRU)' – beetroot
faktörü (P $ isim) çalışır. FYI: grepl'deki df $ grubu df $ adı olmalıdır – DAV
Bu, bunu tamamlamak için çok kolay bir yoldur. Teşekkürler! –