r - 在 R 中创建一个新列来查看前两列中的数据并分配因子水平?

标签 r

我有一个数据集,用于查看蜗牛的两种寄生虫,我想创建一个新列,说明蜗牛是否没有寄生虫“无”、类型 1“TYPE1”、类型 2“TYPE2”或两种寄生虫“双”。

   Block Weight Parasite1  Parasite2
1      1   1.23        1           1         
2      1   3.14        1           1         
3      1   2.55        1           0         
4      1   2.67        0           1         
5      1   3.36        0           1         
6      1   3.16        0           0         
7      1   3.41        0           1         
8      1   2.47        0           1         
9      1   1.56        0           1         
10     1   2.66        1           1

我想过使用 if 或 if else 但我似乎无法让它工作?

最佳答案

您可以使用一些 if else 语句,但我认为这更容易

dat <- read.table(header = TRUE, text="row Block Weight Parasite1  Parasite2
1      1   1.23        1           1         
2      1   3.14        1           1         
3      1   2.55        1           0         
4      1   2.67        0           1         
5      1   3.36        0           1         
6      1   3.16        0           0         
7      1   3.41        0           1         
8      1   2.47        0           1         
9      1   1.56        0           1         
10     1   2.66        1           1")[,-1]


within(dat, {
  type <- interaction(Parasite1, Parasite2, sep = '')
  type <- factor(type, levels = c('11','10','01','00'),
                 labels = c('DUAL','TYPE1','TYPE2','None'))
})

#    Block Weight Parasite1 Parasite2  type
# 1      1   1.23         1         1  DUAL
# 2      1   3.14         1         1  DUAL
# 3      1   2.55         1         0 TYPE1
# 4      1   2.67         0         1 TYPE2
# 5      1   3.36         0         1 TYPE2
# 6      1   3.16         0         0  None
# 7      1   3.41         0         1 TYPE2
# 8      1   2.47         0         1 TYPE2
# 9      1   1.56         0         1 TYPE2
# 10     1   2.66         1         1  DUAL

关于r - 在 R 中创建一个新列来查看前两列中的数据并分配因子水平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27020610/

相关文章:

r - 在 R 和 ggplot2 中绘制正态分布的垂直密度

r - R中的n臂老虎机模拟

r - 将个体基因组间隔连接到种群区域

r - 插入符号 : performing grouped regression with train()

r - 基于另一个搜索数据帧过滤和汇总数据帧

R性能幂函数

r - ggplot barplot 根据两个类别的行的最大值进行排序

r - 使用Prophet包在R中的Dataframe中按组进行预测

R - 如何使 Choose.dir() 使用像 Choose.files( ) 这样的 Windows 文件资源管理器

r - 设置 to.weekly 使用的星期几