0
我有一個5列的表。第三列包含1-5的數字。我想用1 = A,2 = D,3 = X和4 = U和5 = K的字母替換數字。我如何在R中這樣做?更改列值?
我有一個5列的表。第三列包含1-5的數字。我想用1 = A,2 = D,3 = X和4 = U和5 = K的字母替換數字。我如何在R中這樣做?更改列值?
我會使用一個查找表,即list
其中姓名是數字1-5和列表的內容字母AE:
lut = list('A', 'B', 'C', 'D', 'E')
names(lut) = 1:5
sample_data = sample(1:5, 10, replace = TRUE)
as.character(lut[as.character(sample_data)])
> lut
$`1`
[1] "A"
$`2`
[1] "B"
$`3`
[1] "C"
$`4`
[1] "D"
$`5`
[1] "E"
> sample_data
[1] 3 5 2 5 1 4 2 2 3 3
> as.character(lut[as.character(sample_data)])
[1] "C" "E" "B" "E" "A" "D" "B" "B" "C" "C"
這可能比保羅更容易理解答案(這是更好的方法恕我直言)。
創建一個小數據框,它本質上是一個查找表。然後,在我讓bar
是你的數組中感興趣的列,
Rgames> foo
$lets
[1] "A" "D" "X" "U" "K"
$nums
[1] 1 2 3 4 5
Rgames> rab<-foo$lets[bar]
Rgames> rab
[1] "A" "A" "X" "D" "K"
Rgames> foo
$lets
[1] "A" "D" "X" "U" "K"
$nums
[1] 1 2 3 4 5
Rgames> bar
[1] 1 1 3 2 5
Rgames> foo$lets[bar]
[1] "A" "A" "X" "D" "K"
與最後一行的輸出替換列值,而你所有的設置。
非常感謝....! – Kisun 2013-03-01 14:15:06