Tôi có một chuyển đổi cột khung dữ liệu đơn giản có thể được thực hiện bằng cách sử dụng một vòng lặp if/else, nhưng tôi đã tự hỏi nếu có một cách tốt hơn để làm điều này.Làm cách nào để thay đổi giá trị cột trong một khung dữ liệu?
Khung dữ liệu ban đầu là,
df <-data.frame(cbind(x=rep(10:15,3), y=0:8))
df
x y
1 10 0
2 11 1
3 12 2
4 13 3
5 14 4
6 15 5
7 10 6
8 11 7
9 12 8
10 13 0
11 14 1
12 15 2
13 10 3
14 11 4
15 12 5
16 13 6
17 14 7
18 15 8
những gì tôi cần làm là thay thế các giá trị trong cột 'y' như vậy mà
'0' gets replaced with '2',
'1' gets replaced with '2.2',
'2' gets replaced with '2.4',
...
...
'6' gets replaced with '3.2'
'7' gets replaced with '3.3'
'8' gets replaced with '10'
để tôi kết thúc với một cái gì đó như thế nào,
> df
x y
1 10 2.0
2 11 2.2
3 12 2.4
4 13 2.6
5 14 2.8
6 15 3.0
7 10 3.2
8 11 3.3
9 12 10.0
10 13 2.0
11 14 2.2
12 15 2.4
13 10 2.6
14 11 2.8
15 12 3.0
16 13 3.2
17 14 3.3
18 15 10.0
Tôi đã tìm kiếm và tìm thấy một số đề xuất nhưng không thể khiến chúng hoạt động. Một trong những lần thử là một cái gì đó như thế,
> levels(factor(df$y)) <- c(2,2.2,2.4,2.6,2.8,3,3.2,3.3,10)
Error in levels(factor(df$y)) <- c(2, 2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.3, :
could not find function "factor<-"
Nhưng tôi nhận được thông báo lỗi được hiển thị ở trên.
Có ai có thể giúp tôi với điều này không?
Xin lỗi Ben, sai lầm của tôi. Tôi vừa chỉnh sửa bài đăng gốc của mình bằng bản chỉnh sửa. –