在我的數據集中,我想創建虛擬變量以識別某個距離內變量的影響。距離區間的虛擬變量
的距離應該是:
0-100 meters
100-200 meters
200-300 meters
可達1000米,因此所有在所有10個虛擬變量。
我怎麼這個
預先感謝您
編輯:
當我運行與虛擬變量回歸,我不能得到的間隔在0-100米迴歸。它被遺漏了。任何想法爲什麼?
在此先感謝
在我的數據集中,我想創建虛擬變量以識別某個距離內變量的影響。距離區間的虛擬變量
的距離應該是:
0-100 meters
100-200 meters
200-300 meters
可達1000米,因此所有在所有10個虛擬變量。
我怎麼這個
預先感謝您
編輯:
當我運行與虛擬變量回歸,我不能得到的間隔在0-100米迴歸。它被遺漏了。任何想法爲什麼?
在此先感謝
你是否在尋找cut
功能:
x <- 1:1000
cut(x,c(min(x),100,200,300,max(x)))
編輯
要獲得10個級別:
cut(x,seq(min(x),max(x),100))
您還可以使用recode
功能從car
包裝在R
。
install.packages("car")
library(car)
x<-0:1000
y<-recode(x,"0:100=1;101:200=2;201:300=3;301:400=4;401:500=5;501:600=6;601:700=7;701-800=8;801:900=9;else=10")
Output:
> head(y)
[1] 1 1 1 1 1 1
> tail(y)
[1] 10 10 10 10 10 10
注:你可以操縱每個類別的最小值和最大值。例如,第一類中的max不是100,您可以根據數據結構編寫99.999。
還有ifelse
功能,你可以使用,如果你只有幾個類別。請參閱here
不應該被「cut(x,(0:10)* 100)'來獲得十個級別嗎? – rinni
@rinni謝謝。我編輯我的答案。 – agstudy
謝謝你們倆。這解決了我的問題。 – Kasper