2012-10-12 86 views
1

我有一個數據集,看起來像這樣:如何在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 

如何刪除(在讀)一切除了國家的名字,所以它看起來像這樣:

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 

謝謝,

安東尼奧佩德羅。

回答

6

我同意幾分鐘前發佈的答案(但似乎已被撤回),最好不要在第一時間創建該問題!但是如果你想糾正你已經有的東西,看看?gsub並嘗試類似:

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

謝謝!這樣可行! – Tom

+2

另外,'fixed'選項似乎非常適合這種情況:'gsub(「as.factor(country.x)」,「」,data $ country,fixed = TRUE)'' – flodel

2
data$country <- with(data, { 
    country <- as.character(country) 
    factor(substr(country, 21, nchar(country))) 
}) 
相關問題