'daki diğer sütunlardaki değere dayalı etkili ölçeklendirme sütunu yolu Başka bir sütundaki değerlere dayanarak dataframe
sütunundaki değerleri ölçeklemek istiyorum.R dataframe
x y
1 1.0895865 2
2 0.8261554 2
3 5.3503761 2
4 3.3940759 1
5 6.2786637 1
, yani ne istediğim sahip olmaktır: Örneğin, burada çıkış basit bir örnek
d<-data.frame(x=runif(5,0,10),y=sample(c(1,2),size=5,replace=TRUE))
verir ise
sonra x değerlerini, d x
y=2
ile ölçeklenen değerler ile değiştirin. Şimdiye kadar ne yaptım
olan aksak biraz:
d1<-subset(d,y==1)
d2<-subset(d,y==2)
d1$x<-(d1$x-mean(d1$x))/sd(d1$x)
d2$x<-(d2$x-mean(d2$x))/sd(d2$x)
ve sonra büyük bir veri çerçevesi tüm sonuçları bağlayıcı, ama benim gerçek veri y için 50 farklı değerlere sahip olduğu için bu biraz sıkıcı ve bunu birden çok (farklı) sütun için yapmak istiyorum.
require(dplyr)
d %>%
group_by(y) %>%
mutate(x = (x - mean(x))/sd(x))
Tekrar üretilebilir hale getirmek ve beklenen çıktıyı paylaşmak için lütfen 'set.seed() 'kodunu ekleyin. – mtoto
Belki de ave (d $ x, d $ y, FUN = işlev (x) (x-ortalama (x))/sd (x)) 'yi arıyoruz. – nicola