r - 在R中交换变量中的值?
问题描述
我是使用 R 的新手,我正在尝试解决一个基本问题。因此,我正在从 Excel 工作表中读取一些数据,工作表上的每一列都对应一个测试项目(每个项目的得分为真或假,1 或 2)。我已经确定并子集了我有兴趣使用此功能的特定列/项目:
CD <- paste("items",c(1,5,11,13,17,20,21,23,28,31,34,47,59,65,72,77,82,86), sep="")
这是我想做的事情:对于某些列/项目,我想将所有 2 的分数更改为 1 的分数。同样,我想将所有 1 的分数更改为 2 分。我该怎么做呢?
解决方案
循环遍历列更新值:
# example data
set.seed(1); myData <- data.frame(matrix(sample(1:2, 25, replace = TRUE), ncol = 5))
myData
# X1 X2 X3 X4 X5
# 1 1 1 1 2 1
# 2 2 1 1 2 1
# 3 1 1 1 2 1
# 4 1 2 1 2 1
# 5 2 2 1 1 1
# columns we want to update
CD <- paste0("X", 1:3)
# loop and update
myData[ CD ] <- lapply(myData[ CD ], function(i) c(2:1)[ i ])
myData
# X1 X2 X3 X4 X5
# 1 2 2 2 2 1
# 2 1 2 2 2 1
# 3 2 2 2 2 1
# 4 2 1 2 2 1
# 5 1 1 2 1 1
推荐阅读
- visual-studio - 还有两个与 VS Build Tools 和 VS 代理相关的问题
- reactjs - 如何在 React 中重新分配 Ref 对象
- javascript - 如何从angularjs上的xml响应中获取元素值
- file - 将“带转义字符”标签添加到 .txt 文件
- filter - FILTER 中的子条件使用非相关表
- angular - Angular Material mat-select multiselect dropdown 仅获取选中或未选中的项目
- ruby - 这段代码是用什么语言编写的?我将如何在 Ruby 中编写代码?
- python-3.x - 在 Airflow 中提取持续时间统计 API
- mysql - { 错误:ER_PARSE_ERROR:您的 SQL 语法有错误
- python - EC.presence_of_element_located not 和 WebDriverWait 导致 Python 的 selenium 中出现“其他元素将收到点击:...”错误