Travis-CI Build Status

vkR is an R package which provides access to the VKontakte (VK) API.




Most API requests require the use of an access token. VK has several types of authorization mechanisms. Check out the documentation for more details.


where: * CLIENT_ID - is an application ID. You have to create new Standalone-app in VK to get ID (or use the already existing). * SCOPE - the list of comma separated access rights, e.g. 'friends,groups'- provide the access to user friends and groups. List of all rights can be found here. * EMAIL and PASSWORD - username and password.

If the EMAIL and PASSWORD have been omitted, a browser window will be opened. In the address bar an access token will be shown. Access token must be copied and passed as an argument into the following function:

setAccessToken(access_token = 'YOUR ACCESS TOKEN')

Example of use

Building a Friend Graph:

my_friends <- getFriends(fields = 'sex')
my_friends <- filter(my_friends$items,
network <- getNetwork(my_friends$id)

g <- graph.adjacency(as.matrix(network), weighted = T, mode = "undirected")
layout <- layout.fruchterman.reingold(g)
plot(g, layout = layout)

Analyzing community activity:

domain <- 'nipponkoku'
wall <- getWallExecute(domain = domain, count = 0, progress_bar = TRUE)
metrics <- jsonlite::flatten(wall$posts[c("date", "likes", "comments", "reposts")])
metrics$date <- as.POSIXct(metrics$date, origin="1970-01-01", tz='Europe/Moscow')

df <- metrics %>% 
  mutate(period = as.Date(cut(date, breaks='month'))) %>% 
  group_by(period) %>%
  summarise(likes = sum(likes.count), comments = sum(comments.count), reposts = sum(reposts.count), n = n())

ggplot(data=gather(df, 'type', 'count', 2:5), aes(period, count)) + geom_line(aes(colour=type)) +
  labs(x='Date', y='Count')
Coomunity activity

You can find more examples in examples directory.