我有我data.frame(Analysis)
,其中包括一項調查顯示對策:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
我希望值分配給每個響應,根據自己的水平。例如,"Strongly Agree"
收到2同時"Agree"
接收的1分我所需的輸出是:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Q1_Score <- c(1, 2, -1, 0, 1, 0)
這似乎是一個簡單的問題,但我有找到答案的難度!
謝謝。一個值分配給字符串
8
A
回答
5
您可以使用revalue
從plyr
包與更名水平的Analysis
數據幀創建一個新的因素列:
library(plyr)
Analysis$Q1_Score <- revalue(Analysis$Q1,
c("Strongly Agree"="2", "Agree"="1", "Neither"="0", "Disagree"="-1"))
5
你可以把值和代碼在一個單獨的數據幀,然後使用match
,讓他們成爲你的主要數據幀:
dat <- data.frame(Q1,Q1_Score)
Analysis$Q1_Score <- dat$Q1_Score[match(Analysis$Q1, dat$Q1)]
2
您可以在因子變量適當地命令他們,然後轉換爲數值像所以:
Q1 <- factor(Q1, levels=c("Disagree","Neither","Agree","Strongly Agree"))
as.numeric(Q1)-2
#[1] 1 2 -1 0 1 0
您減去2,因爲最低因子水平被存儲爲1,而您想要最低水平爲-1。
或者,一個班輪,它返回一個因子變量,而不是數學運算:
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
相關問題
- 1. 將多個值分配給一個聲明的字符串
- 2. 如何將兩個枚舉值分配給一個字符串?
- 3. 將字符串分配給另一個字符串
- 4. C++將字符串參數分配給一個字符串
- 5. JsonConvert - 無法字符串值分配給一個字符串變量
- 6. 將appSettings值分配給字符串
- 7. 如何將HTML值分配給一個asp.net字符串變量
- 8. 使用返回值從函數分配給一個字符串
- 9. JavaScript將一個字符串的索引值分配給另一個索引值
- 10. 將字符串的值分配給字符串數組
- 11. C++將一個字符串的元素分配給一個新的字符串
- 12. 從結構分配一個字符串轉換爲字符值
- 13. 將不同的字符串分配給一個數字 - JSON
- 14. 值分配給在C字符數組(字符串)
- 15. 分割字符串並將第一個值分配給PowerShell中的變量
- 16. 將字符串文字分配給char *
- 17. 如何將多個值分配給oracle中的字符串
- 18. 給一個變量一個數字值和字符串值?
- 19. 如何將字符串分配給單個字符?
- 20. 如何將鍵分配給字符串中的每個字符?
- 21. 如何將URLVariables結果分配給一個字符串變量?
- 22. 如何將XML標籤分配給一個字符串變量
- 23. 返回的字符串分配給一個標籤在MVC
- 24. 輸入的字符串也分配給一個整數?
- 25. 將json字符串分配給C中的一個變量#
- 26. 如何將字符串值分配給列表框選擇值
- 27. 爲Perl substr分配一個字符串?
- 28. 分配字符串到一個int?
- 29. 串字符被分配到一個char
- 30. 分配數字值給字符串數組
我投了使用'plyr'軟件包的答案,但我也喜歡你的答案,使用R的基礎。謝謝你。 – user2716568
甚至只是'c(「強烈同意」= 2,「同意」= 1,「都不」= 0,「不同意」= - 1)[Q1]' – thelatemail