Простое базовое решение 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](https://i.stack.imgur.com/neaDl.png)