将多个列名称复制到每一行的变量中

时间:2019-10-26 17:37:49

标签: r dataframe

我的数据框为:-

Country    Disease 1   Disease 2    Disease 3   Disease4 

A           No         No          No          Yes     
B           Yes        Yes         No          No     
C           No         Yes         No          No   
D           No         No          Yes         No  

我想做成:-

Country     Disease
A           Disease4
B           Disease1
B           Disease2
C           Disease2
D           Disease3

我无法使用:

New_Data_3 <- melt(New_Data2, id = c("Country"))

New_Data_2是数据框。

1 个答案:

答案 0 :(得分:0)

使用melt后,您只需要再增加两个步骤即可获得所需的输出。代码是:

require(dplyr)
require(reshape2)

New_Data_3 = melt(New_Data_2,id=c('Country')) %>% 
  dplyr::filter(value=='Yes') %>% 
  dplyr::rename(Disease = variable) %>% 
  dplyr::select(-value)

让我知道这是否对您有用。