if语句:匹配同一列中的多个变量

时间:2018-07-12 00:15:06

标签: r variables if-statement

我的问题是尝试根据现有变量创建一个新变量。

我有一组不同类型的班级和班级编号的数据集,以及班级是在线还是离线。

我遇到的麻烦是弄清楚如何编写代码来检查同一类是否存在多个同时也是不同类型(即离线或在线)的

所以大概可以这样检查

1. Test Class ,  1, Online
2. Test Class ,  2, Offline
3. Basic Class,  1, Online
4. Test Class ,  3, Offline
5. Basic Class,  2, Offline
6. Test Class ,  1, Offline

,因此当两个班级的班级名称,班级编号匹配,并且同时存在在线和离线部分时,它将报告。 像这样

True, False, False, False, False, True

这样,我可以根据创建的新变量进行排序,并仅比较不同节类型的相似类。

1 个答案:

答案 0 :(得分:0)

在注释的末尾使用DF仅使用基数R

differ <- function(x) length(x) == 2 && x[1] != x[2]
transform(DF, V4 = ave(as.character(V3), V1, V2, FUN = differ))

给予:

           V1 V2      V3    V4
1  Test Class  1  Online  TRUE
2  Test Class  2 Offline FALSE
3 Basic Class  1  Online FALSE
4  Test Class  3 Offline FALSE
5 Basic Class  2 Offline FALSE
6  Test Class  1 Offline  TRUE

注意

Lines <- "
Test Class ,  1, Online
Test Class ,  2, Offline
Basic Class,  1, Online
Test Class ,  3, Offline
Basic Class,  2, Offline
Test Class ,  1, Offline"

DF <- read.table(text = Lines, sep = ",", strip.white = TRUE)