Trim 某列字符到一定长度

Trim characters of certain column to a certain length

我是 R 的新手,这是我的第一个问题,所以我尽量详细地提出我的问题:

我有一个数据框,由 7 列和大约 400 万行组成(EPO 的专利数据),第七列包括专利分类,这是一个字符组合,如 "G01T001/00"。我试图将此列中的所有字符减少到前 4 位数字 - 或者换句话说,保留它们 - (G01T001/00 --> G01T) 并保持所有其他列及其值不变。

我已经尝试了基于虹膜的相关问题中的某些建议:

library(datasets) 
library(stringr)
iris<-str_sub(iris$Species, end=-4)  

这个例子删除了列 species 中每个值的最后 3 个字符,但我最终只得到了这一列,而所有其他的都“消失”了。

将我的问题转移到 iris 上:

我想要原样的鸢尾花,只是“物种”列中的字符减少到前 4 位数字。

您的代码行用缩短的列替换了鸢尾花的完整数据集。您需要具体说明您只想用缩短的列替换列 Species。

iris$Species <- str_sub(iris$Species, end=-3)