2016-05-02 5 views
1

У меня есть некоторые данные, которые я распечатывается на консоль:как распечатать данные на консоли и прочитать их обратно?

> head(mydata) 

V1     V2  V3 
1 29228 2005-01-01 00:00:00 12345 
2 29228 2005-01-01 00:10:00 23456 
3 29228 2005-01-01 00:20:00 34567 
4 29228 2005-01-01 00:30:00 45678 

Я хочу поделиться этими данными с коллегой. Было бы здорово, если бы у меня были данные в r-скрипте с моим кодом, а не для совместного использования отдельного файла данных.

Возможно ли считывать эти данные в R из строки, например.

> df <- read(" 
    V1     V2  V3 
    1 29228 2005-01-01 00:00:00 12345 
    2 29228 2005-01-01 00:10:00 23456 
    3 29228 2005-01-01 00:20:00 34567 
    4 29228 2005-01-01 00:30:00 45678 
") 

ответ

1

Если вы что обмениваться данными с другими пользователями R. Лучше использовать команду dput. Например:

df <- read.table(text = 
"V1     V2  V3 V4 
1 29228 2005-01-01 00:00:00 12345 
2 29228 2005-01-01 00:10:00 23456 
3 29228 2005-01-01 00:20:00 34567 
4 29228 2005-01-01 00:30:00 45678", header = TRUE) 

dput(df) 

structure(list(V1 = c(29228L, 29228L, 29228L, 29228L), V2 = structure(c(1L, 
1L, 1L, 1L), .Label = "2005-01-01", class = "factor"), V3 = structure(1:4, .Label = c("00:00:00", 
"00:10:00", "00:20:00", "00:30:00"), class = "factor"), V4 = c(12345L, 
23456L, 34567L, 45678L)), .Names = c("V1", "V2", "V3", "V4"), class = "data.frame", row.names = c("1", 
"2", "3", "4")) 

Этот выход будет сохранять первоначальную структуру и форматирование dataframe и с более сжатой форме. Чтобы прочитать данные обратно, просто:

newdf<- structure(list(V1 = c(29228L, 29228L, 29228L, 29228L), V2 = structure(c(1L, 
1L, 1L, 1L), .Label = "2005-01-01", class = "factor"), V3 = structure(1:4, .Label = c("00:00:00", 
"00:10:00", "00:20:00", "00:30:00"), class = "factor"), V4 = c(12345L, 
23456L, 34567L, 45678L)), .Names = c("V1", "V2", "V3", "V4"), class = "data.frame", row.names = c("1", 
"2", "3", "4")) 

Это также предпочтительный метод предоставления примеров здесь, в stackoverflow!

1

Да, хотя у вас есть 4 столбца.

df <- read.table(text = 
"V1     V2  V3 V4 
1 29228 2005-01-01 00:00:00 12345 
2 29228 2005-01-01 00:10:00 23456 
3 29228 2005-01-01 00:20:00 34567 
4 29228 2005-01-01 00:30:00 45678", header = TRUE) 

вы также можете сделать

df = head(mydata) 
Смежные вопросы