Как мне написать в CSV, где первая строка отличается от остальных строк? - PullRequest
0 голосов
/ 24 апреля 2019

Мне нужна отформатированная таблица, в которой первая строка представляет собой объединенную дату, а все остальные строки представляют собой два значения, разделенные запятой.Однако при сохранении файла в формате .csv после объединенной даты появляется запятая

Кто-нибудь знает, как удалить запятую только из первой строки в R?

R language

.....

sub = fread("C:/file.txt") # this is a file with two columns labeled as tmax and tmin

dt2<-"19810101"
setnames(sub,"tmax",dt2) # change name of column 1 from tmax to 19810101

setnames(sub,"tmin","") # change name of column 2 from tmin to a blank

Мне нужна отформатированная таблица, в которой первая строка представляет собой объединенную дату, а все остальные строки представляют собой два значения, разделенные запятой, как показано здесь:

19810101

10.0,2.2

11,1,2.5

и т. Д.,

Я создал таблицу в R, соединив две таблицы, каждая из которых содержала столбец с необходимыми значениями (это температуры).Я заменил имя первого столбца на объединенную дату.Затем я заменил второе имя ничем (технически "").

19810101,

10.0,2.2

11,1,2.5

и т. Д.,

Я уверен, что причина запятой после даты в том, что оба столбца данных о температуреимел имя столбца (tmax, tmin) и столбцы разделены запятыми.Однако как убрать запятую только из первой строки в R?

1 Ответ

0 голосов
/ 25 апреля 2019

"Вот решение, которое не очень красиво, но оно работало. 1. Я записал таблицу в файл с разделителями-запятыми, используя только значения температуры (без заголовка) 2. Считал таблицу обратно в R как один столбец3. создал новый файл и записал объединенную дату в первую строку 4. добавил значения температуры в виде одного столбца

.... dt2 = 19810101

fwrite (df, "file.txt "), sep =", ", row.names = F, col.names = F) # записать значения tmax и tmin в файл через запятую, без заголовка

t = read.table ("file.txt", header = F, sep = "") # считывается как один столбец, но с запятой между значениями, без заголовка

fileConn <-file ("file2.txt") #создать подключение к файлу с новым файлом, файл будет создан </p>

writeLines (dt2, fileConn) # записать только первую дату в первую строку

закрыть (fileConn) # закрыть соединение

write.table (t, file = file2.txt "), quote = F, sep =" ", row.names = F, col.names = F, append = T) # добавить один столбец tmax иTmin к новой таблице ....

...