有没有更优雅的方式在 R 中使用映射值?

RP4377

我想找到一种更优雅的方法将我的数据从李克特量表转换为标准化量表。Plyr 的 mapvalues 似乎有效,但并不优雅。我尝试了 purrr 但它没有像我希望的那样工作。

   data$var1 <- mapvalues(data$var1, 
      from=c("1","2","3", "4", "5"), 
      to=as.integer(c("0", "25", "50", "75", "100"))

我有几个想要转换的变量,因此任何有关使用 purrr 函数执行此操作的见解都会很棒。

这是我的第一篇 stackoverflow 帖子,如果我没有遵循正确的协议,请原谅我。

-RP

罗纳克·沙阿

由于这里有一个清晰的替换模式,我们可以从var125 中减去 1并乘以 25。为了更容易理解,var1我创建了一个新列而不是替换var2

library(dplyr)

data <- data %>% mutate(var2 = 25 * (var1 - 1))
data

#   var1 var2
#1     3   50
#2     3   50
#3     2   25
#4     2   25
#5     3   50
#6     5  100
#7     4   75
#8     1    0
#9     2   25
#10    3   50

如果没有这样清晰的模式并且plyr已经退休,您可以使用dplyr::recode

data <- data %>% 
        mutate(var2 = recode(var1, `1`=0, `2`=25, `3`=50, `4`=75, `5`=100))

数据

如果您以可重现的格式提供数据,则更容易提供帮助-

set.seed(123)
data <- data.frame(var1 = sample(5, 10, replace = TRUE))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有更优雅的方式在 SwiftUI 中使用颜色文字?

有没有更优雅的方式来重复使用代码块?

有没有更优雅的方式来声明新的 var 并同时使用 global

有没有更优雅的方式来使用 AutoIt 获取 Internet Expolor 版本

有没有更优雅的方式来将else语句与独立的if()s一起使用

有没有更优雅的方法来检查表单默认值?

有没有更优雅的方式来使用Java 8列表随机获得不使用项目?

有没有更优雅的方式?

有没有更优雅的方法来输入映射作为 Clojure 中 stdin 中的对列表?

检查所有状态值的更优雅的方式

有没有更优雅的方法来使用 array.map 在 NodeJS 中解决这个问题?

有没有更优雅的方法可以使用Docker COPY将特定文件复制到工作目录?

有没有更优雅的方式来写这些条件?

有没有一种优雅的方式可以在打字稿中包含值对象?

为什么我的输出中的NULL之前有元素,以及如何在R中使用“列表”重构for循环以使用更优雅的内容

有没有更优雅的方法将键/值对添加到哈希?(如果键== nil,则分配新的键/值,否则将值添加到现有键)

R中的嵌套操作。是否有更优雅的方法?

有没有更优雅的方式在Kotlin中编写此吸气剂?

有没有更优雅的方式来启动基于列表的线程?

Ramda 拒绝 - 有没有更优雅的方式来写这个?

有没有更优雅的方式来执行这个 switch 语句?

有没有更好/更干净/更优雅的方式来分配和释放cuda?

有没有更优雅的方式来编码此生成器?

有没有更优雅的方式来读取CSV列并与记录ID合并?

有没有一种更优雅的方式来代替编写大量查询?

有没有更优雅的方式在C#中嵌套数组?

有没有更优雅的方式来编写这个 If/or 条件?

R - 更优雅的代码行编写方式

有没有使用LINQ to Objects进行搜索的更优化的方法?