#r #write.table
Вопрос:
Я хочу написать несколько кадров данных с циклом.
dataframes = c(grep(ls(),pattern = "tasmin", value = T), grep(ls(),pattern = "cnrm", value = T), grep(ls(),pattern = "ipsl", value = T)) for (df in dataframes){ write.table(df, paste(df,"txt", sep="."), sep=";") }
Первым аргументом write.table()
, df
должен быть фрейм данных, который я хочу написать. Но вместо этого это символьная строка, которая записывается в txt-файл. Поэтому у меня есть это в качестве вывода :
"x" "1";"ipsl_ref"
Как мне написать фактический фрейм данных?
Комментарии:
1. Попробуй
write.table(get(df), etc)
вместо этого. Кроме того, вместоls()
повторного вызова вызовите его только один разobjects lt;- ls()
, а затем используйте эту переменную в несколькихgrep
.2. Да, это работает, спасибо!