如何将子函数应用于数据帧?

jen*_*irf 2 string r lapply

我有一个包含字符串列表的数据框

  df$a
=========
"4343-2"
"7889-5"
"4-3456"
"334-45"
"8765-4"
Run Code Online (Sandbox Code Playgroud)

我想在列表上执行字符串操作以删除破折号,所以我这样做了..

df$a <- lapply(df$a, sub, "-","", df$a)
Run Code Online (Sandbox Code Playgroud)

..只生成一组完全空的字符串.我弄错了什么?

Jus*_*tin 6

你可以直接使用sub.

df$a <- sub('-', '', df$a)
Run Code Online (Sandbox Code Playgroud)

lapply因为sub是"矢量化" 而不是你正在做的复杂.gsub如果您认为每个条目可能有多个短划线,您也可以使用.