Предположим, у меня есть переменная s с этим кодом:
s <- "foo\nbar"
Затем измените его на data.frame
s2 <- data.frame(s)
Теперь s2 - это data.frame с одной записью, затем я экспортирую в файл csv с:
write.csv(s2, file = "out.csv", row.names = F)
Потом открываю блокнотом, "foo\nbar" разлетелся на две строчки. С импортом SAS:
proc import datafile = "out.csv" out = out dbms = csv replace;
run;
У меня две записи, одна "foo", другая "bar", что не ожидается.
Поборовшись некоторое время, я обнаружил, что могу ли я экспортировать из R с помощью иностранного пакета, например:
write.dbf(s2, 'out.dbf')
Затем импортируйте с помощью SAS:
proc import datafile = "out.dbf" out = out dbms = dbf replace;
run;
Все работает хорошо и получил одну запись в sas, значение похоже на «foo bar». Означает ли это, что csv — плохой выбор при работе с данными по сравнению с dbf? Есть ли другие решения или объяснения этому?