dane <- as.character(scan("https://projecteuler.net/project/resources/p022_names.txt",
what = "vector",sep = ",", na.strings = "")) # z uwzglednieniem NA jako imienia
tabelka <- data.frame(rzad=1:length(dane), imie=sort(dane), stringsAsFactors = F)
# funkcje do wyliczenia punktow i rozbijania wyrazow:
liczba <- function(x) match(x, LETTERS)
rozbij_wyraz <- function(wyraz) unlist(strsplit(wyraz, ""))
# dopisanie wyniku do tabelki
tabelka$wynik <- sapply(tabelka$imie, FUN = function(y) sum(liczba(rozbij_wyraz(y))))
tabelka$wynik_razy_rzad <- tabelka$rzad*tabelka$wynik
# wynik koncowy:
print(sum(tabelka$wynik_razy_rzad, na.rm=T))
## [1] 871198282