删除数据帧值的后缀

mar*_*lle 2 r dataframe

我有这样一种数据框架:

 a       b         c
--------------------------------
 1     2011     mal ID9     
 2     2012     yesterday ID10 
 3     2010     misch ID10 
 4     1995     ship ID9 
 5     2008     se ID9 
 6     1998     falling ID10 
 7     2011     friend ID9 
 8     2011     use to be ID10 
       ...
Run Code Online (Sandbox Code Playgroud)

我要删除的ID9ID10后缀。字符串的前面ID9ID10任意长度的部分,因此我不知道是先验的。

对于可重现的示例,这是我的数据框:

z <- data.frame(a = c(1,2,3,4,5,6,7,8),
                b = c(2011,2012,2010,1995,2008,1998,2011,2011),
                c = c("mal ID9", "yesterday ID10", "misch ID10", "mal ID10", "se ID9", "falling ID10", "friend ID9", "use to be ID10"))
Run Code Online (Sandbox Code Playgroud)

这是我想要的结果:

zz <- data.frame(a = c(1,2,3,4,5,6,7,8),
                b = c(2011,2012,2010,1995,2008,1998,2011,2011),
                c = c("mal", "yesterday", "misch", "mal", "se", "falling", "friend", "use to be"))
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Sam*_*r.y 5

这应该工作

    z$c=gsub(" ID.*","",z$c)
Run Code Online (Sandbox Code Playgroud)