2016-11-05 71 views
1

我有一个简单data.frame抑制重复值的列在data.frame r中

mydf <- read.csv("mydf.csv") 
mydf 

         SOC  Preferred.Term  Serious  Non.Serious 
      cardiac disorders    dizziness    0     0 
      cardiac disorders dizziness postural    0     1 
      cardiac disorders   palpitations    0     0 
      cardiac disorders    dyspnoea    0     1 
      cardiac disorders  oedema peripheral    0     0 
       eye disorders lacrimation increased    0     3 
       eye disorders    eye pain    0     0 
       eye disorders    mydriasis    0     0 
       eye disorders  vision blurred    0     0 
       eye disorders  visual impairment    0     1 
       oral disorders   dental caries    0     0 
       oral disorders  tooth fracture    0     0 

你可以看到,该列标题SOC具有重复数次。 我想把它作为一个表格,我只在SOC列中显示任何唯一术语的第一个实例。 换句话说,我想表看起来像这样:

      SOC  Preferred.Term  Serious  Non.Serious 
      cardiac disorders    dizziness    0     0 
           dizziness postural    0     1 
             palpitations    0     0 
              dyspnoea    0     1 
           oedema peripheral    0     0 
       eye disorders lacrimation increased    0     3 
              eye pain    0     0 
             mydriasis    0     0 
            vision blurred    0     0 
           visual impairment    0     1 
       oral disorders   dental caries    0     0 
            tooth fracture    0     0 

有一个简单/快速的方法来改变我的data.frame除去在第一列中的重复?

或者,R中是否有某种类型的演示文件包会生成一个表,以消除第一列中的重复项?

谢谢你的任何建议。

回答

2

是假设变量SOC进行排序,是阶级性的一个简单的方法:

mydf$SOC[duplicated(mydf$SOC)] <- "" 
+0

这真棒。谢谢! – user36476