Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8028449
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T00:08:24+00:00 2026-06-05T00:08:24+00:00

There’s the available.packages() function to list all packages available on CRAN. Is there a

  • 0

There’s the available.packages() function to list all packages available on CRAN. Is there a similar function to find all available vignettes? If not how would I get a list of all vignettes and the packages they’re associated with?

As a corner case to keep in mind the data.table package has 3 vignettes associated with it.

EDIT: Per Andrie’s response I realize I wasn’t clear. I know about the vignette function for finding all the available local vignettes, I’m after a way to get all the vignettes of all packages on CRAN.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-05T00:08:25+00:00Added an answer on June 5, 2026 at 12:08 am

    I seem to recall looking at this in response to some SO question (can’t find it now) and deciding that since the information isn’t included in the output of available.packages(), nor in the result of applying readRDS to @CRAN/web/packages/packages.rds (a trick from Jeroen Ooms), I couldn’t think of a non-scraping way to do it …

    Here’s my scraper, applied to the first 100 packages (leading to 44 vignettes)

    pkgs <- unname(available.packages()[, 1])[1:100]
    vindex_urls <- paste0(getOption("repos"),"/web/packages/", pkgs, 
        "/vignettes/index.rds", sep = "")
    getf <- function(x) {
          ## I think there should be a way to do this directly
          ## with readRDS(url(...)) but I can't get it to work
        suppressWarnings(
                  download.file(x,"tmp.rds",quiet=TRUE))
        readRDS("tmp.rds")
    }
    library(plyr)
    vv <- ldply(vindex_urls,
                .progress="text",
                function(x) {
                    if (inherits(z <- try(getf(x),silent=TRUE),
                        "try-error")) NULL else z
                })
    tmpf <- function(x,n) { if (is.null(x)) NULL else
                                data.frame(pkg=n,x) }
    vframe <- do.call(rbind,mapply(tmpf,vv,pkgs))
    rownames(vframe) <- NULL
    head(vframe[,c("pkg","Title")])
    

    There may be ways to clean this up/make it more compact, but it seems to work OK. Your scrape once/update occasionally strategy seems reasonable. Or if you wanted you could scrape daily (or weekly or whatever seems reasonable) and save/post the results somewhere publicly accessible, then include a function with that URL hard-coded in the package … or even create a nicely formatted HTML table, with links, that the whole world could use (and then add Viagra ads to the page, and $$PROFIT$$ …)

    edit: wrapped both the download and the readRDS in a function, so I can wrap the whole thing in try

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There are several shading languages available today like GLSL, HLSL, CG, which one to
There will be 500+ threads concurrently uploading an unique object to a bucket all
There are many string matching algorithms can be used to find a pattern (string)
There are many 3D UI engines in SourceForge and other opensource forum, I would
There are 3 different ways to get data out of a BLOB column from
There are a few ways to get class-like behavior in javascript, the most common
There is a similar question from 2009 which mentions Wufoo and FormAssembly services. Are
There is a perforce bundle for TextMate but I can't get to auto-check out
There are two ways to get a NSManagedObjectContext that I know of: create a
There are many questions about this PersistenceException, but I have not seen some, where

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.