Один из способов справиться с этим - записать файл в виде сжатой структуры данных, которую можно легко восстановить:
library(jsonlite)
toJSON(read.table('clipboard', header = TRUE))
Полная строка JSON будет напечатана на консоли, и вы можете просто скопироватьи вставьте это в свой код, и назначьте его объекту, скажем, data
- обратите внимание, вам нужно заключить в кавычки строку JSON:
data <- '[{"a":0.0978,"b":0.1704,"c":0.469,"d":0.0919,"e":0.4881,"f":0.414,"g":0.865,"h":0.6461},{"a":0.4975,"b":0.3762,"c":0.5015,"d":0.8096,"e":0.1041,"f":0.8868,"g":0.7983,"h":0.072},{"a":0.2335,"b":0.1997,"c":0.7992,"d":0.3203,"e":0.694,"f":0.2838,"g":0.3469,"h":0.4552},{"a":0.8392,"b":0.2544,"c":0.6384,"d":0.9021,"e":0.7761,"f":0.806,"g":0.431,"h":0.9182},{"a":0.2685,"b":0.2624,"c":0.8339,"d":0.1081,"e":0.3896,"f":0.6784,"g":0.7051,"h":0.2658},{"a":0.4708,"b":0.3424,"c":0.505,"d":0.2119,"e":0.3758,"f":0.1155,"g":0.0585,"h":0.2035},{"a":0.1734,"b":0.9656,"c":0.2278,"d":0.6977,"e":0.7876,"f":0.0204,"g":0.7441,"h":0.626},{"a":0.0751,"b":0.0729,"c":0.3399,"d":0.9851,"e":0.2846,"f":0.0652,"g":0.6614,"h":0.7401},{"a":0.9651,"b":0.9437,"c":0.8807,"d":0.2687,"e":0.6538,"f":0.3907,"g":0.8816,"h":0.5983}]'
, которая дает вам хорошую сжатую единственную строку, котораяхранит данные.В отличие от read.table(text = ...)
, в этом случае не возникнет проблем со слишком большим количеством столбцов или межстрочным интервалом - по крайней мере, если предположить, что вы не пытаетесь таким образом загрузить массив данных.
Вы можете легкореконструируйте фрейм данных, используя:
fromJSON(data)
a b c d e f g h
1 0.0978 0.1704 0.4690 0.0919 0.4881 0.4140 0.8650 0.6461
2 0.4975 0.3762 0.5015 0.8096 0.1041 0.8868 0.7983 0.0720
3 0.2335 0.1997 0.7992 0.3203 0.6940 0.2838 0.3469 0.4552
4 0.8392 0.2544 0.6384 0.9021 0.7761 0.8060 0.4310 0.9182
Если вы хотите остаться в среде base
и предпочитаете не загружать jsonlite
, вы все равно можете сделать это с помощью write.csv
это просто не так чисто:
write.csv(df2)
Выводит df2
на консоль как .csv
.Затем вы можете скопировать и вставить это обратно в свой код (используя первые две строки в качестве примера):
"","a","b","c","d","e","f","g","h"
"1",0.097767305,0.17043808,0.469039979,0.091881245,0.488090975,0.41400278,0.865041585,0.646119496
"2",0.497482762,0.376181817,0.50152601,0.809582305,0.104101727,0.8868107,0.798329506,0.072007646
, а затем прочитать обратно вот так - отметьте еще раз, вывод write.csv
заключенные в одинарные кавычки:
read.csv(text = '"","a","b","c","d","e","f","g","h"
"1",0.097767305,0.17043808,0.469039979,0.091881245,0.488090975,0.41400278,0.865041585,0.646119496
"2",0.497482762,0.376181817,0.50152601,0.809582305,0.104101727,0.8868107,0.798329506,0.072007646', header = T)
Недостатком использования .csv
является просто то, что в вашем коде сложная структура данных, но функционально она все равно будет работать так же.