如何在R中对变量名称进行子集化?

时间:2012-10-12 00:35:41

标签: r

我有一个如下所示的数据集:

head(data)
                              country      fixef
1             as.factor(country.x)Albania -0.4446439
2             as.factor(country.x)Algeria -0.3400060
3             as.factor(country.x)Andorra -1.0455948
4              as.factor(country.x)Angola  0.7477114
5 as.factor(country.x)Antigua and Barbuda -0.1996655
6           as.factor(country.x)Argentina -0.3404206

如何删除(在R中)除国家名称之外的所有其他内容,以便它看起来像这样:

head(data)
                     country      fixef
1                    Albania -0.4446439
2                    Algeria -0.3400060
3                    Andorra -1.0455948
4                    Angola   0.7477114
5        Antigua and Barbuda -0.1996655
6                  Argentina -0.3404206

谢谢,

安东尼奥佩德罗。

2 个答案:

答案 0 :(得分:6)

我同意几分钟前发布的答案(但似乎已被撤回),最好不要首先创造这个问题!但是如果你想纠正你已经拥有的东西,请查看?gsub并尝试类似:

data$country <- gsub("as\\.factor\\(country\\.x\\)", "", data$country)

答案 1 :(得分:2)

data$country <- with(data, {
    country <- as.character(country)
    factor(substr(country, 21, nchar(country)))
})