如何将不同的变量组合成R中的一个变量

时间:2014-03-14 22:26:09

标签: r

我正在尝试将这四个变量组合起来制作一个新变量。

数据集如下:

Collaboration_A: NA:3,> 4次:16,0次:149次,1次:36次,2-4次:45次

Collaboration_B: NA:3,> 4次:24,0次:130次,1次:48次,2-4次:44次

Collaboration_C: NA:3,> 4次:15次,0次:176次,1次:27次,2-4次:28次

Collaboration_D: NA:3,> 4次:8次,0次:183次,1次:33次,2-4次:22次

我试图将所有这些变量结合起来,看看有多少学生合作形成新变量“Collaboration_total”

这是我输入的代码:

survey_all$collaboration_total <- 
  ifelse(survey_all$Collaboration_A>=1 &
         survey_all$Collaboration_B>=1 &
         survey_all$Collaboration_C>=1 &
         survey_all$Collaboration_D>=1, "collaborate","not collaborate")

但这是错误的。我的老师告诉我们使用ifelse语句,但就是这样。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我不确定我是否接受了你的想法,但试试这个

dd <- data.frame(Collaboration_A = rep(c(NA, 0, 1, 2, 5),
                                       times = c(3, 149, 36, 45, 16)),
                 Collaboration_B = rep(c(NA, 0, 1, 2, 5),
                                       times = c(3, 130, 48, 44, 24)),
                 Collaboration_C = rep(c(NA, 0, 1, 2, 5),
                                       times = c(3, 176, 27, 28, 15)),
                 Collaboration_D = rep(c(NA, 0, 1, 2, 5),
                                       times = c(3, 183, 33, 22, 8)))

dim(dd)
[1] 249   4

dd$collaboration_total <- 
  ifelse(dd$Collaboration_A>=1 &
           dd$Collaboration_B>=1 &
           dd$Collaboration_C>=1 &
           dd$Collaboration_D>=1, "collaborate","not collaborate")