【发布时间】:2011-12-01 00:58:59
【问题描述】:
我有一个数据框(称为“data.set.y”)。我想得到这个数据框的子集(我称之为data.frame.y.p1)。此子集包含“实体”列中包含字符串 1990 或 1991 或 1992 或 1993 或 1994 或 1995 或 1996 或 1997 或 1998 或 1999 的所有行
我得到了正确的子集,代码如下:
data.set.y.p1 <- subset(data.set.y, substring(data.set.y$Entity, 13,16) == 1990 | substring(data.set.y$Entity, 13,16) == 1991 |
substring(data.set.y$Entity, 13,16) == 1992 | substring(data.set.y$Entity, 13,16) == 1993 |
substring(data.set.y$Entity, 13,16) == 1994 | substring(data.set.y$Entity, 13,16) == 1995 |
substring(data.set.y$Entity, 13,16) == 1996 | substring(data.set.y$Entity, 13,16) == 1997 |
substring(data.set.y$Entity, 13,16) == 1998 | substring(data.set.y$Entity, 13,16) == 1999)
现在我想用更优雅的东西代替这个长代码。我已经尝试了以下方法:
years <- c(1990:1999)
data.set.y.p1 <- subset(data.set.y, substring(data.set.y$Entity, 13,16) == years)
但它不起作用。
有人知道如何摆脱所有这些单一的条件吗?
【问题讨论】:
标签: r