r - 如何按行名在 2 个不同的数据集中附加 2 列
问题描述
我有两个单独的数据框:
> head(data)
Drug.Substance.Calcium Drug.Substance.Glycine Drug.Substance.Histidine
1 45.0 120.0
2 43.0 100.0
3 33.7 9.6
我想将单位添加到列名。这些单位可以在不同的数据集中找到(在UOM
列中)
> head(ag_parameter_6[10:13,])
X PARAMETER DATA_TYPE PARAMETER_TYPE UOM
10 9 Drug Substance.Calcium double D mmol/L
11 10 Drug Substance.Endotoxin string D
12 11 Drug Substance.Glycine double D mg/mL
13 12 Drug Substance.Histidine double D mmol/L
如何修改data
数据框以使每列都有正确的单位(在 UOM 中找到)?
解决方案
我们可以在base R
i1 <- match(names(data), ag_parameter_6$PARAMETER)
names(data) <- paste(names(data), ag_parameter_6$UOM[i1])
-输出
> data
Drug.Substance.Calcium mmol/L Drug.Substance.Glycine mg/mL Drug.Substance.Histidine mmol/L
1 1 45.0 120.0
2 2 43.0 100.0
3 3 33.7 9.6
数据
data <- data.frame(
Drug.Substance.Calcium = c(1L, 2L, 3L),
Drug.Substance.Glycine = c(45, 43, 33.7),
Drug.Substance.Histidine = c(120, 100, 9.6)
)
ag_parameter_6 <- data.frame(
stringsAsFactors = FALSE,
PARAMETER = c("Drug.Substance.Calcium",
"Drug.Substance.Endotoxin",
"Drug.Substance.Glycine","Drug.Substance.Histidine"),
DATA_TYPE = c("double", "string", "double", "double"),
PARAMETER_TYPE = c("D", "D", "D", "D"),
UOM = c("mmol/L", NA, "mg/mL", "mmol/L")
)
推荐阅读
- python - 将 env.yml 从 Anaconda 转换为 Pip req.txt
- python - 无法在 mechanize.browser 中成功设置代理
- jquery - 保持DIV或img的比例
- java - 滑动标签时调用API
- undefined - 绕过未定义
- python - cURL 通过终端/邮递员工作,但不能通过 shell 脚本或 Python
- c# - 使用 IQueryable 和 Linq.Expressions 速记加入?
- python-3.x - 如何画一条指示 Apriltag 方向的线?
- reactjs - 来源已被 CORS 政策在反应盖茨比中阻止
- java - 无法将 char[] 转换为 java 中的列表