r - 将某列的字符修剪到一定长度
问题描述
我是 R 新手,这是我在这里的第一个问题,所以我试图尽可能详细地提出我的问题/问题:
我有一个由 7 列和大约 400 万行组成的数据框(EPO 的专利数据),第七列包括专利分类,它是一个字符组合,如"G01T001/00"
. 我正在尝试将此列中的所有字符减少到前 4 位数字 - 或者换句话说,保留它们 - (G01T001/00 --> G01T) 并保持所有其他列及其值不变。
我已经尝试过基于 iris 在相关问题中提出的某些建议:
library(datasets)
library(stringr)
iris<-str_sub(iris$Species, end=-4)
这个例子删除了列种类中每个值的最后 3 个字符,但我最终只得到了这个列,而所有其他的都“消失”了。
将我的问题转移到 iris 上:
我想要 iris 原样,只有“物种”列中的字符减少到前 4 位数字。
解决方案
您的代码行用缩短的列替换了完整的 iris 数据集。您需要具体说明您只想用缩短的列替换列 Species。
iris$Species <- str_sub(iris$Species, end=-3)
推荐阅读
- python - lmfit ExponentialGaussianModel( ) 的使用
- c++ - 结构中的友元函数有什么用?
- javascript - 如何将分数添加到记分牌?
- java - Java + JavaFX:错误:无法找到或加载主类
- c# - 列表数组在模型列表中没有变化
- powershell - 如何使用 PowerShell 将数据添加到 CSV 的最后一列?
- java - 无法删除 Excel 工作表的第一行
- python - 为什么 {{ user.groups }} 总是显示 auth.Group.None
- c# - 给定日期名称字符串,获取当前周的日期
- android - Android lineHeight vs lineSpacingExtra