Tôi có một khung dữ liệu với các giá trị giả này và tôi muốn thực hiện hồi quy lm trên chúng. Một trong các biến là biến số liên tục được nhóm như được hiển thị bên dướiChuyển đổi một biến liên tục được nhóm thành các hàng trong R
df <- data.frame("y" = c(10, 11, 12, 13, 14),
"x" = as.factor(c("100-102", "103-105", "106-108", "109-111", "112-114")))
Tôi muốn khôi phục y ~ x, Một cách là thay thế các yếu tố x bằng giá trị số trung bình của chúng. Điều này có thể dễ dàng thực hiện bằng cách sử dụng cụm từ thông dụng.
Một cách khác là tạo ra các hàng bổ sung và mở rộng bộ dữ liệu của bạn để nó trông như thế này
data.frame("y" = c(10, 10, 10, 11, 11, 11......),
"x" = c(100, 101, 102, 103, 104, 105......))
Có một chức năng mà sẽ làm điều này?
Tôi đang nghĩ đến việc tạo các biến bổ sung như x1, x2, x3 và sau đó sử dụng gói reshape2 để chuyển đổi x cột thành hàng.
đây là một giải pháp đơn giản và thanh lịch. Cảm ơn. btw nó sẽ mở rộng như thế nào với bộ dữ liệu với nhiều cột. Ví dụ của tôi là một dataframe giả. dataframe thực tế của tôi có nhiều cột số và cột một yếu tố – MySchizoBuddy
chỉ một cột để tách nhưng tập dữ liệu có nhiều cột, vì vậy các hàng cho tất cả các cột khác sẽ được lặp lại cùng với y – MySchizoBuddy
hoạt động tốt với rất ít dòng mã. Cảm ơn – MySchizoBuddy