本文介绍了在R中的列上使用子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用子字符串在数据表中仅使用邮政编码的前3位?

YEAR    PERSON    POSTALCODE   STORE_ID
2012    245345    M2H 2I4       20001319
2012    234324    L6N 3R5       20001319
2012    556464    L6N 4T5       20001319

这是我尝试过的一段代码,但是在我添加了代码的子字符串部分(我猜我犯了一个非常愚蠢的错误)之后,我的数据表出现了0个对象:

combined <- merge(df1, df2, by.y="PERSON")
store1  <- combined[combined$STORE_ID == 20001319 && substr(combined$POSTALCODE, 1, 3), ]

推荐答案

substr(combined$POSTALCODE, 1, 3)为您提供

# [1] "M2H" "L6N" "L6N"

因此一个可能的选择可能是

combined[combined$STORE_ID == 20001319 & substr(combined$POSTALCODE, 1, 3) == "M2H", ],它为您提供子集

#   YEAR PERSON POSTALCODE STORE_ID
# 1 2012 245345    M2H 2I4 20001319

这篇关于在R中的列上使用子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-19 19:16