У меня есть читать CSV-файл в data.table, который следующим образом:Написать каждый data.table столбец отделить текстовые файлы в R
Cat1 Cat2 Cat3 Country file_name
1: A E B Canada first
2: C B India Second
3: C Canada third
4: B Ireland Fourth
5: C A India fifth
6: A C F Canada Sixth
Я использую следующий код, чтобы записать содержимое каждого грести в отдельный текстовый файл:
lapply(1:nrow(df), function(i) write.table(df[i], file= paste0("./TextFiles/", df[i, file_name], ".txt"), row.names = F, col.names = F, quote = F))
выход я получаю запись теперь следующим за «Sixth.txt» (к примеру):
A C F Canada Sixth
Однако, я хочу, чтобы текст был следующим:
Cat1
A
Cat2
C
Cat3
F
Country
Canada
Есть ли способ, чтобы получить этот вывод без вложенности много lapply?
Попытка код:
lapply(df, function(i) i)
дает выход:
$Cat1
[1] "A" "C" "C" "B" "C" "A"
$Cat2
[1] "E" "B" "" "" "A" "C"
$Cat3
[1] "B" "" "" "" "" "F"
$Country
[1] "Canada" "India" "Canada" "Ireland" "India" "Canada"
$file_name
[1] "first" "Second" "third" "Fourth" "fifth" "Sixth"
Итак, у меня есть чувство, что это возможно, чтобы получить имена столбцов перед содержимым, а также вставить строки перед каждой записью столбца. Однако я не могу найти способ сделать это.
Вы хотите, чтобы быть распечатаны вертикально? как мы видим в консоли или это прекрасно, как каждая строка в отдельном текстовом файле с именами столбцов, как показано ниже? Дайте мне знать, если вы хотите внести некоторые изменения в результат ниже. –
@ SowmyaS.Manian: Я не хочу, чтобы они были в виде таблицы, как в вашем ответе ниже. На самом деле, я буду импортировать текстовые файлы в RQDA. Поэтому мне нужно, чтобы строки печатались один за другим, как я показал в вопросе. – DotPi
@ SowmyaS.Manian: Спасибо. Оно работает. Есть ли способ использовать данные в одном из столбцов в качестве имени файла, как я показал в вопросе? – DotPi