如何将strsplit应用于R中的数据帧?

Big*_*igD 2 r

我对这个问题有一个非常类似的问题,但我的情况比较复杂.

这是我的示例代码:

test = data.frame(x = c(1:4), 
                 y = c("/abc/werts/h1-1234", "/abc/fghye/seths/h2-234",
                           "/abc/gvawrttd/hyeadar/h3-9868", "/abc/qqras/x1-7653"))
test$y = as.character(test$y)
Run Code Online (Sandbox Code Playgroud)

我想要一个像这样的输出:

1 h1-1234
2 h2-234
3 h3-9868
4 x1-7653
Run Code Online (Sandbox Code Playgroud)

我试过了:

test$y = tail(unlist(strsplit(test$y, "/")), 1)
Run Code Online (Sandbox Code Playgroud)

但是,返回上述代码的结果:

1 h1-1234
2 h1-1234
3 h1-1234
4 h1-1234
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何修改我的代码以便我可以得到我想要的输出?

提前致谢!

And*_*lin 6

这是您要寻找的线路:

test$y = sapply(strsplit(test$y, "/"), tail, 1)
Run Code Online (Sandbox Code Playgroud)

它适用tail于返回的列表中的每个元素strsplit.