كيف يمكنني تحميل مثال مجموعات البيانات في R؟

StackOverflow https://stackoverflow.com/questions/1434897

  •  07-07-2019
  •  | 
  •  

سؤال

دعنا نقول أنني أريد إعادة إنتاج مثال تم نشره على Stackoverflow. اقترح البعض استخدام الملصقات dput() للمساعدة في تبسيط هذه العملية أو واحد من مجموعات البيانات المتاحة في الحزمة الأساسية.

ومع ذلك ، في هذه الحالة ، لنفترض أنني لم أحصل إلا على إخراج DataFrame:

> site.data
    site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4

هل لدي خيارات أخرى إلى جانب حفظ هذا كملف نصي واستخدام read.table()?

هل كانت مفيدة؟

المحلول 2

هذا خيار واحد مفيد:

site.data <- read.table(textConnection(
"        site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4"))

نصائح أخرى

هذا حل أنيق. أظن أن هناك طريقة للقيام بذلك مع rcurl ، كما هو الحال في هذا المنشور الذي خلع عن ويكيبيديا.

ولكن كنقطة أكثر عمومية للمناقشة: لماذا لا نستخدم البيانات فقط من حزمة "مجموعات البيانات" في R؟ ثم سيكون لدى الجميع البيانات عن طريق الاتصال فقط بوظيفة البيانات () ، وهناك مجموعات بيانات لتغطية معظم الحالات.

يحرر]: كنت قادرا على القيام بذلك. من الواضح أنه عمل أكثر (أي غير عملي) من الحل الخاص بك. قون

تحرير 2]: لفت هذا في وظيفة وجربته مع صفحة أخرى.

getSOTable <- function(url, code.block=2, raw=FALSE, delimiter="code") {
  require(RCurl)
  require(XML)

  webpage <- getURL(url)
  webpage <- readLines(tc <- textConnection(webpage)); close(tc)
  pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
  x <- xpathSApply(pagetree, paste("//*/", delimiter, sep=""), xmlValue)[code.block]  
  if(raw)
    return(strsplit(x, "\n")[[1]])
  else 
    return(read.table(textConnection(strsplit(x, "\n")[[1]][-1])))
}

getSOTable("https://stackoverflow.com/questions/1434897/how-do-i-load-example-datasets-in-r")
    site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4

getSOTable("https://stackoverflow.com/questions/1428174/quickly-generate-the-cartesian-product-of-a-matrix", code.block=10)
   X1 X2 X3 X4
1   1 11  1 11
2   1 11  2 12
3   1 11  3 13
4   1 11  4 14
5   1 11  5 15
6   1 11  6 16
7   1 11  7 17
8   1 11  8 18
9   1 11  9 19
10  1 11 10 20
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top