Как сделать сюжет BW для отображения данных - PullRequest
0 голосов
/ 02 декабря 2018

Я достал семена из банка семян, под кроной дерева и в 3 метрах от кроны.У меня есть эти данные для трех исследовательских площадок в двух странах: Южной Австралии и Шри-Ланке (часть данных прилагается).Сценарий, который я использовал для разработки графика BW с использованием решетки, приведен ниже.На самом деле я подготовил два сюжета здесь отдельно для двух стран.Я хочу разработать этот график.Я хочу показать данные одной страны (Южная Австралия) с одной стороны участка (под короной и на расстоянии 3 м в двух цветах), а с другой стороны - с другой стороны (Шри-Ланка) те же два цвета, чтобы показать под короной и на расстоянии 3 м.

Part of the dataset

setwd("E:/Research/Fieldwork SL-data/Seed bank/analysis")

seed.bank <- read.csv(file="seedbank_rev.csv", header=TRUE, sep=',')
attach(seed.bank)
names(seed.bank)
## [1] "seed.no."   "location"   "study.site" "country"   

seed.bank1<-seed.bank[!(country=="Sri Lanka"),]
seed.bank2<-seed.bank[!(country=="South Australia"),]

library("lattice")

bwplot(log(seed.no.) ~ study.site | location, data=seed.bank1, xlab="Study Sites in South Australia", ylab="log(seed number)")
bwplot(log(seed.no.) ~ study.site | location, data=seed.bank2, xlab="Study Sites in Sri Lanka", ylab="log(seed number)")

1 Ответ

0 голосов
/ 02 декабря 2018

Простое базовое решение R для того, что кажется вашей проблемой, является барплотом (поскольку у вас есть категориальные переменные):

# define dataframe:
df <- data.frame(
  location = c(rep("beneath",1), rep("at_distance",4),rep("beneath",4), rep("at_distance",3)),
  country = c(rep("SA",6),rep("SL",6))
)

# check structure:
str(df)

Этот шаг показывает, что данные отформатированы какфакторы.Их необходимо преобразовать в символы, чтобы получить счетчики частоты:

# convert factors to characters:
df <- lapply(df, as.character)

# make frequency table:
freq_seeds <- table(df$country, df$location)

Теперь вы готовы построить данные;Ключевым аргументом для размещения соответствующих баров рядом является beside=TRUE:

# define plotting region:
par(mfrow=c(1,1), mar=c(4,4,4,4))
# barplot:
barplot(freq_seeds, beside=T, main="Seeds", col=c("blue", "green"))
# draw legend:
legend("topright", c("South Australia", "Sri Lanka"), fill=c("blue", "green"), col=c("blue", "green"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...