我正在尝试处理R中的市政信息,似乎是因素(确切地说是factor()
)。是实现我的目标的最佳方式。我只是开始了解R,所以我想我的问题可能很简单。
我有以下示例数据框要分享(芬兰城市的一小部分):
municipality<-c("Espoo", "Oulu", "Tampere", "Joensuu", "Seinäjoki",
"Kerava")
region<-c("Uusimaa","Pohjois-Pohjanmaa","Pirkanmaa","Pohjois-Karjala","Etelä-Pohjanmaa","Uusimaa")
myData<-cbind(municipality,region)
myData<-as.data.frame(myData)
默认情况下,R将我的字符列转换为因子,可以使用str(myData)
进行测试。现在,我的初学者到新手级别R技能结束的部分:我似乎找不到从列region
到列municipality
应用因子的方法。
让我来证明一下。而不是原始结果
as.numeric(factor(myData$municipality))
[1] 1 4 6 2 5 3
我想得到这个,myData $ region中的因子应用于myData $ municipality。
as.numeric(factor(myData$municipality))
[1] 5 4 2 3 1 5
我欢迎任何张开双臂的帮助。谢谢。
答案 0 :(得分:0)
为了更好地理解R中因子的使用,请查看here。
如果您想添加因子级别,则必须在数据框中执行以下操作:
levels(myData$region)
[1] "Etelä-Pohjanmaa" "Pirkanmaa" "Pohjois-Karjala" "Pohjois-Pohjanmaa" "Uusimaa"
> levels(myData$municipality)
[1] "Espoo" "Joensuu" "Kerava" "Oulu" "Seinäjoki" "Tampere"
> levels(myData$municipality)<-c(levels(myData$municipality),levels(myData$region))
> levels(myData$municipality)
[1] "Espoo" "Joensuu" "Kerava" "Oulu" "Seinäjoki"
[6] "Tampere" "Etelä-Pohjanmaa" "Pirkanmaa" "Pohjois-Karjala" "Pohjois-Pohjanmaa"
[11] "Uusimaa"