如何在 R 資料框中使所有值唯一?
為了使 R 資料框中的所有值唯一,我們可以使用 make.unique 函式,但首先我們需要將資料框值展開並使用 as.character 讀取它們。例如,如果我們有一個名為 df 的資料框,其中包含重複值和非重複值,那麼我們可以使用以下命令使所有值唯一:-
df[]<-make.unique(as.character(unlist(df)))
示例 1
以下程式碼片段建立了一個示例資料框:-
x<-rpois(20,1) df1<-data.frame(x) df1
建立了以下資料框
x 1 0 2 0 3 1 4 1 5 1 6 0 7 2 8 0 9 1 10 0 11 0 12 0 13 1 14 2 15 1 16 1 17 0 18 0 19 1 20 1
要在上面建立的資料框上使 df1 中的所有值唯一,請將以下程式碼新增到上述程式碼片段中:-
x<-rpois(20,1) df1<-data.frame(x) df1[]<-make.unique(as.character(unlist(df1))) df1
輸出
如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:-
x 1 0 2 0.1 3 1 4 1.1 5 1.2 6 0.2 7 2 8 0.3 9 1.3 10 0.4 11 0.5 12 0.6 13 1.4 14 2.1 15 1.5 16 1.6 17 0.7 18 0.8 19 1.7 20 1.8
示例 2
以下程式碼片段建立了一個示例資料框:-
y<-sample(letters[1:5],20,replace=TRUE) df2<-data.frame(y) df2
建立了以下資料框
y 1 c 2 a 3 b 4 c 5 c 6 d 7 a 8 a 9 e 10 a 11 c 12 c 13 c 14 a 15 c 16 b 17 c 18 c 19 d 20 b
要在上面建立的資料框上使 df2 中的所有值唯一,請將以下程式碼新增到上述程式碼片段中:-
y<-sample(letters[1:5],20,replace=TRUE) df2<-data.frame(y) df2[]<-make.unique(as.character(unlist(df2))) df2
輸出
如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:-
y 1 c 2 a 3 b 4 c.1 5 c.2 6 d 7 a.1 8 a.2 9 e 10 a.3 11 c.3 12 e.1 13 c.4 14 a.4 15 c.5 16 b.1 17 c.6 18 c.7 19 d.1 20 b.2
廣告