Verilerimdeki minimum öğe sayısına dokunarak medyanı değiştirmek için bir işlev yazmak istiyorum. Benim veri,Bir döngüden çıkmak için koşul R
data = data.frame(name=letters, values = c(0.183487333,0.487690292, 0.510321455,0.616632727, 0.660789818, 0.845322255, 0.867910555, 0.911842909, 0.913312571, 1.017638286, 15.97454546, 16.20765382, 16.27542982, 16.307264, 17.38325527, 17.54139927, 70.08443928, 70.26106764, 75.79405382, 77.72412946, 79.58750724, 84.67373672, 87.04692364, 88.58626037, 94.79392582, 100.0000))
data = data %>% mutate(diff = abs(values - median(values)), rank_diff = dense_rank(diff)) %>% arrange(diff)
aşağıdaki gibidir ve aşağıdaki benim fonksiyondur, ben 1 ile ortancasını arttırmak istediğinizde
changemedian <- function(data, increase, rows)
{
median2 = median(data$value)
new_median = median2 + increase
i = 0
print(data$name[1:rows])
data1 = data$values
while(median2<new_median){
x = median2
data1[1:rows] = data1[1:rows] + 0.2
median2 = median(data1)
i = i + 0.2
}
print(paste("values to be changed per name:",i))
cat("\n")
print(paste("New Median that could be achieved:" ,median2))
}
ben bu işlevi çağırabilir ve yapmak sadece 5 değerleri kullanmak istediğinizde changemedian(data,1,5)
ile. Kod bunun için iyi çalışıyor. Ama medyanın changemedian(data,1,1)
gibi elde edilememesi durumunda, olanaksız bir durum verdiğimde, döngü çalışmaya devam ediyor. Medyan önceki medyan değere eşit olduğunda çıkmak için döngü yapmak istiyorum. Burada medyan2, önceki döngü sırasında medyan2 değerine eşit olduğunda, "mümkün değil" diyerek döngüden çıkmak istiyorum.
Bunu yapmak için hata alıyorum. Bunu yaparken bana kimse yardım edebilir mi?
Teşekkür
evet ben sadece bu olduğunda döngü çıkmak istiyor satırdan önce
:
Düzenleme: Bir medyan bu satırı eklemek tekrarlanır eğer döngü çıkmak için . Döngüden çıkmama yardım edebilir misin? Bununla ilgili hatalarla karşılaşıyorum. İki döngü için medyan değer eşitse, döngüden çıkmak istiyorum. – haimen
Sadece döngüden çıkıp mümkün olmayan bazı ifadeler vermek istiyorum. Bu noktada ben mücadele ediyorum – haimen
Benim düzenleme bakın. Bu –