2016-01-01 9 views
0

Я в настоящее время работаю на dataframe, который выглядит следующим образом:Создание видов Накопительные кривой с другим форматом

data.frame(Plot_ID=c(1,1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,4), 
       Species=c("a","a","a","b","b","c","c","b","b","b","b","d","d","d","e","e","e","e","a","a","a") 
       DBH=c(12,32,44,11,14,66,43,22,88,22,23,45,354,6,7,45,12,11,5,6,8)) 

ДВГ только диаметр вида. То, что я хочу, чтобы создать кривая накопления видов, однако пакет specaccum допускает только другой формат, который, как это:

data.frame (Spec1=c(1,0,2,3),Spec2=c(0,0,0,4),Spec3=c(1,1,2,3)) 

Мои данные имеет более 3000 строк, с более чем ста видов, что делает его очень трудно переформатировать данные соответствующим образом. Есть ли способ легко переформатировать данные или использовать данные, например, с другим пакетом?

+2

Это должно отформатировать матрицу сообщества, в которой вам нужна таблица (df [['Plot_ID']], df [['Species']]) ' –

+0

1 Min too late; D. Думаю, это тоже работает, спасибо! – Lukas

ответ

0

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

Для этого создайте 3-ю колонку, которая включает в себя только номер 1, данные должны выглядеть следующим образом:

d1<-data.frame(Plot_ID=c(1,1,2,2,3,3), 
       Species=c("a","b","a","c","d","c"), 
       Count=c(1,1,1,1,1,1)) 

Экспорт кадр данных в CSV-файл с помощью

write.table(d1, "~/path/of/desire/d1.csv") 

Импортируйте CSV. таблицу в Libreoffice, используя пробел как разделитель. Удалите первый столбец, поскольку он является внутренним R-ID и сдвигает заголовки.

Отметьте свои данные и перейдите в раздел «Данные»> «Сводная таблица», выберите отмеченные данные и нажмите «ОК».

Вы увидите что-то вроде этого enter image description here

Loai.cay является вид здесь. Перетащите Species в столбцы-поля, Plot_ID в строки-строки и Count в поля данных, как это имеет место на картинке. Нажмите OK и скопируйте результат в дополнительную таблицу. Нажмите CTRL + SHIFT + S и выберите сохранение в виде CSV-файла. Импортируйте csv-файл в R и используйте функцию specaccum, как описано в описании функции.

Надеюсь, это поможет кому-то, кроме меня.

 Смежные вопросы

  • Нет связанных вопросов^_^