tôi có phản ứng với một cuộc khảo sát trong data.frame(Analysis)
tôi bao gồm:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Tôi muốn gán giá trị cho mỗi câu trả lời, dựa vào mức độ của họ. Ví dụ, "Strongly Agree"
nhận 2 trong khi "Agree"
nhận được một điểm số 1. Sản lượng của tôi mong muốn sẽ là:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Q1_Score <- c(1, 2, -1, 0, 1, 0)
Điều này có vẻ như một câu hỏi đơn giản nhưng tôi đang gặp khó khăn trong việc tìm kiếm một câu trả lời!
Cảm ơn bạn.Gán một giá trị cho nhân vật chuỗi
8
A
Trả lời
5
Bạn có thể sử dụng revalue
từ gói plyr
để tạo ra một cột yếu tố mới trong khung Analysis
dữ liệu của bạn với các mức đổi tên:
library(plyr)
Analysis$Q1_Score <- revalue(Analysis$Q1,
c("Strongly Agree"="2", "Agree"="1", "Neither"="0", "Disagree"="-1"))
5
Bạn có thể đặt các giá trị và các mã trong một dataframe riêng biệt và sau đó sử dụng match
để có được chúng vào dataframe chính của bạn:
dat <- data.frame(Q1,Q1_Score)
Analysis$Q1_Score <- dat$Q1_Score[match(Analysis$Q1, dat$Q1)]
2
Bạn có thể sắp xếp chúng một cách thích hợp trong một biến yếu tố, sau đó chuyển sang số như như vậy:
Q1 <- factor(Q1, levels=c("Disagree","Neither","Agree","Strongly Agree"))
as.numeric(Q1)-2
#[1] 1 2 -1 0 1 0
Bạn trừ 2 vì mức yếu tố thấp nhất được lưu trữ dưới dạng 1 và bạn muốn mức thấp nhất là -1.
Ngoài ra, một lớp lót mà trả về một biến yếu tố thay vì numerics:
factor(Q1, levels=c("Disagree","Neither","Agree","Strongly Agree"), labels=c(-1,0,1,2))
#[1] 1 2 -1 0 1 0
#Levels: -1 0 1 2
Các vấn đề liên quan
- 1. Nhận giá trị từ một chuỗi sau khi một nhân vật đặc biệt
- 2. Cách gán giá trị chuỗi cho biến chuỗi trong C++
- 3. chuỗi và trả về giá trị sau khi một nhân vật cụ thể
- 4. Cách gán đúng giá trị chuỗi mới?
- 5. Lựa chọn với% như nhân vật giá trị
- 6. Binding tên cho một giá trị so với gán một giá trị cho một biến
- 7. Tạo DynamicMethod để gán giá trị cho một thuộc tính?
- 8. Cách gán giá trị cho một mảng TCHAR
- 9. phụ thêm nhân vật mảng chuỗi C++
- 10. Giá trị của các yếu tố của một mảng nhân vật khởi tạo là một chuỗi rỗng
- 11. Làm thế nào để gán một giá trị chuỗi cho một mảng trong không?
- 12. nhân vật Tính của một phần của một chuỗi
- 13. Gán một @Annotation enum một giá trị
- 14. PHP loại bỏ một nhân vật trong một chuỗi
- 15. Tìm chỉ số của một nhân vật trong một chuỗi
- 16. C# thêm một nhân vật trong một chuỗi
- 17. Cách gán giá trị cho biến TensorFlow?
- 18. Thực hiện gán giá trị cho mảng
- 19. C + + armadillo - gán giá trị cho cột
- 20. Cách gán giá trị chuỗi cho enums và sử dụng giá trị đó trong một công tắc
- 21. hex chuỗi để nhân vật trong python
- 22. Gán giá trị cho cột df $ từ một df khác?
- 23. Làm thế nào để gán giá trị cho biến từ một chuỗi phân chia trong groovy?
- 24. cin trong C++ cố gắng gán giá trị chuỗi cho một biến int?
- 25. chèn unicode nhân vật thành một chuỗi VBA
- 26. Nhận chuỗi sau khi nhân vật
- 27. Loại bỏ một chuỗi giữa hai nhân vật (java)
- 28. Ruby: nhân vật để ascii từ một chuỗi
- 29. Gán giá trị duy nhất cho các hàng trùng lặp
- 30. Cách để gán giá trị chuỗi vào enum
Tôi đã bỏ phiếu cho câu trả lời cho việc sử dụng gói 'plyr' nhưng tôi cũng thích câu trả lời của bạn bằng cách sử dụng cơ sở R. Cảm ơn bạn. – user2716568
Hoặc thậm chí chỉ 'c (" Rất đồng ý "= 2," Đồng ý "= 1," Không "= 0," Không đồng ý "= - 1) [Q1]' – thelatemail