r - 对 data.frame 中的值进行分类

标签 r data-cleaning

我有以下示例数据框:

> df <- data.frame(v=c("a", "a", "b", "b", "c", "d", "d"))
> df
  v 
1 a 
2 a 
3 b 
4 b 
5 c 
6 d 
7 d 

我想根据一些任意映射将这些值分类在单独的列中。例如:

  • a -> x
  • b -> x
  • c -> y
  • d -> y

所以之后,我会有以下内容:

  v cat
1 a   x
2 a   x
3 b   x
4 b   x
5 c   y
6 d   y
7 d   y

谢谢

最佳答案

这是一个选项:

使用映射创建命名向量:

x <- c(a = "x", b = "x", c = "y", d = "y")

然后使用命名向量添加新列:

df$cat <- x[df$v]
df
#  v cat
#1 a   x
#2 a   x
#3 b   x
#4 b   x
#5 c   y
#6 d   y
#7 d   y

关于r - 对 data.frame 中的值进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28683391/

相关文章:

r - 如何使用 ggplot2 填充圆的一部​​分

excel - 如何将 Microsoft ODC 文件/Power Query 从具有超过 200 万行数据的 Excel 文件转换为 CSV 文件?

r - 从 R 中的宽数据一次创建多个新的长列?

r - 在 R 中使用识别功能

r - 如何检索字符串中的所有数字并使用正则表达式将它们组合成一个数字?

r - 如何在 R 中引导线性回归并估计置信区间?

r - 覆盖 dplyr 中的 "Variables not shown",以显示来自 df 的所有列

r - 如何仅根据小数点后的最大值保留观察结果?

r - 根据行模式对行进行排序

data-science - 在画面中旋转变量是什么意思?