使新变量以一组其他变量的响应为条件

时间:2015-03-23 01:03:45

标签: r variables conditional

我刚接触编程,所以我很抱歉这是一个基本问题。我在R工作。

我的数据集:简而言之,我列出了大约30种疾病(其中一些包括哮喘,背痛等,这些疾病不一定表示疾病,而是某种慢性疾病)。对于每个问题,受访者回答" 1"如果他们患有这种疾病," 2"如果没有," 88"如果他们不知道自己的疾病状态。

我想创建一个新变量,比如称为"慢性",它捕获所有患有1,2或3+慢性病的个体。当然,我可以坐在这里完成所有条件,但是有一种有效的方法可以扫描每个特定的疾病列,如果参与者回答了#34; 1",创建一些运行总和,以便在这个新的"慢性"变量表示他们有慢性病的数量?

提前致谢

1 个答案:

答案 0 :(得分:1)

您想要使用其中一个apply functions。在这种情况下,如果您的data.frame被称为df,那么您可以使用apply()将响应数等于1,如下所示:

apply(df,
      1, # apply for each row (i.e. the first margin)
      function(x)# a function which takes a row's worth of data as it's argument
           sum(x ==1))# and returns the number of responses equal to 1