[英]copy result of unique() string vector in a dataframe R
令我感到困惑的是我認為可以輕松實現的某些事情。 我有一個包含年份,城市和物種列的數據框。
species City Year
80 Landpattedyr Sisimiut 2007
83 Landpattedyr Sisimiut 2008
87 Landpattedyr Sisimiut 2009
721733 Havpattedyr Upernavik 2010
721734 Havpattedyr Upernavik 2011
721735 Havpattedyr Upernavik 2007
我使用了如下獨特的功能
years<-unique(df$year)
city<-unique(df$City)
species<-unique(df$species)
現在我需要基於索引將這些向量中的每個向量的值分配給數據幀行,例如
hunting[1,]$year<-year[i]
hunting[1,]$group<-species[j]
hunting[1,]$city<-city[k]
問題在於只有正確復制了年份,而狩獵df中的城市和物種卻顯示為數字。 我不知道為什么會這樣。 有人可以幫忙嗎?
year group city lat long total
1 2007 6 19 66.93 -53.66 4563
NA 2007 6 20 72.78 -56.15 91
3 2007 6 8 67.01 -50.72 388
4 2007 6 21 70.66 -52.12 280
5 2007 6 14 77.47 -69.23 469
6 2007 6 5 69.22 -51.10 1114
要確定列是因子還是字符,可以使用is.factor(df$City)
或is.character(df$City)
。
對於factor
列,(唯一)級別存儲在levels
屬性中,可以通過以下方式訪問
levels(df$City)
注意:這可能包括向量中不存在的級別,例如,如果某些行已刪除或添加了某些級別。
要檢索factor
或character
向量的唯一元素,可以使用以下方法:
as.character(unique(df$City))
不會返回因子列中不存在的水平。
注意:最后一個命令比unique(as.character(df$City))
效率更高,因為轉換是在可能更短的向量上進行的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.