Я обнаружил, что встроенное state.name и state.abb имеют только 50 состояний. Я получил большую таблицу (включая DC и т. Д.) Из онлайн (например, эта ссылка: http://www.infoplease.com/ipa/A0110468.html ) и вставил ее в .csv файл с именем States.csv. Затем я загружаю состояния и abbr. из этого файла вместо использования встроенного. Остальное довольно похоже на @Aniko's
library(dplyr)
library(stringr)
library(stringdist)
setwd()
# load data
data = c("NY", "New York", "NewYork")
data = toupper(data)
# load state name and abbr.
State.data = read.csv('States.csv')
State = toupper(State.data$State)
Stateabb = as.vector(State.data$Abb)
# match data with state names, misspell of 1 letter is allowed
match = amatch(data, State, maxDist=1)
data[ !is.na(match) ] = Stateabb[ na.omit( match ) ]
. Существует небольшая разница между match и amatch в том, как они вычисляют расстояние от одного слова к другому. См. P25-26 здесь http://cran.r-project.org/doc/contrib/de_Jonge+van_der_Loo-Introduction_to_data_cleaning_with_R.pdf
Для меня это было лучшим решением:
HTML:
<div id="outer">
<img src="logo.png">
</div>
CSS:
#outer {
position: fixed;
top: 50%;
left: 50%;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}