微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

融化并转换标签错误的Likert Scale R

如何解决融化并转换标签错误的Likert Scale R

在我的调查中,我对5点李克特量表犯了一个错误,如下所示:

dput(head(edu_data))
structure(list(Education.1. = structure(c(1L,1L,1L),.Label = c("","Y"),class = "factor"),Education.2. = structure(c(1L,Education.3. = structure(c(1L,Education.4. = structure(c(1L,2L,Education.5. = structure(c(2L,class = "factor")),row.names = c(NA,6L),class = "data.frame")

我想将其更改为一个具有单个值的列,以便 answer_to_ls = 1:5

我要获取输出将是一个具有单个数字的列,这意味着要摆脱该字母。当然,我确实有一个唯一的受访者ID

请告诉我我是否想以某种方式变得更清晰,因为我想成为社区的宝贵成员。

解决方法

我认为有很多潜在的解决方案,请尝试将多个二元或二分列合并或折叠为一个列。例如:

R - Convert various dummy/logical variables into a single categorical variable/factor from their name

您可以尝试以下方法:

edu_data$answer_to_ls <- apply(edu_data[1:5] == "Y",1,function(x) { if (any(x)) { as.numeric(gsub(".*(\\d+).","\\1",names(which(x)))) } else NA })

这将从列名中为李克特量表响应1到5提取数字,使其为数字值,如果没有“ Y”响应,则包括NA。 edu_data[1:5]选择要考虑进行转换的列,在本例中为第1至5列。

  Education.1. Education.2. Education.3. Education.4. Education.5. answer_to_ls
1                                                                Y            5
2                                                                Y            5
3                                                                Y            5
4                                                   Y                         4
5                                                   Y                         4
6                                                                            NA
,
d <- structure(list(Education.1. = structure(c(1L,1L,1L),.Label = c("","Y"),class = "factor"),Education.2. = structure(c(1L,Education.3. = structure(c(1L,Education.4. = structure(c(1L,2L,Education.5. = structure(c(2L,class = "factor")),row.names = c(NA,6L),class = "data.frame")

d$item1 <- 1 * (d$Education.1 == "Y") +
           2 * (d$Education.2 == "Y") +
           3 * (d$Education.3 == "Y") +
           4 * (d$Education.4 == "Y") +
           5 * (d$Education.5 == "Y") 

print(d)

导致

> print(d)
  Education.1. Education.2. Education.3. Education.4. Education.5. item1
1                                                                Y     5
2                                                                Y     5
3                                                                Y     5
4                                                   Y                  4
5                                                   Y                  4
6                                                                      0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?