data.table用子串替换列

Bru*_*cci 2 r data.table

我想删除每行"Name"列的最后4个字符.这就是我尝试过的.

hof_pitching.final[, Name := substring(hof_pitching.final$Name, 0, (length(hof_pitching.final$Name) - 4))]
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Aru*_*run 6

也许你在寻找nchar?

require(data.table)
DT <- data.table(x=1:5, y=paste0("V", 10000:10004))
DT[, z := substring(y, 0, nchar(y)-4L)]
# > DT
#    x      y  z
# 1: 1 V10000 V1
# 2: 2 V10001 V1
# 3: 3 V10002 V1
# 4: 4 V10003 V1
# 5: 5 V10004 V1
Run Code Online (Sandbox Code Playgroud)