【发布时间】:2014-02-12 12:34:23
【问题描述】:
考虑:
x = data.frame(c('ABCD', 'EFGH'), row.names=c('1A', '1B'))
我需要数据框中每个元素的子字符串。像这样的:
substring(x, 2,4)
【问题讨论】:
-
这个问题很模糊。对于多列
data.frame,是否要保留原来的data.frame结构?结果你只是在寻找一个向量吗?
考虑:
x = data.frame(c('ABCD', 'EFGH'), row.names=c('1A', '1B'))
我需要数据框中每个元素的子字符串。像这样的:
substring(x, 2,4)
【问题讨论】:
data.frame,是否要保留原来的data.frame 结构?结果你只是在寻找一个向量吗?
你可以使用sapply:
sapply(x, substring, 2, 4)
或者,如果您只想获取数据框的一个特定列(例如 #1):
substring(x[,1], 2, 4)
【讨论】:
stringr 包中的str_sub。它支持开始和结束的负值,从字符串的末尾开始计数:stringr::str_sub(x[, 1], start = -3, end = -1)。