Создайте гистограмму определенных столбцов и строк из » data.frame` в R

#r #data-science

Вопрос:

 ## my data frame 
crime = read.csv("url")

## specific columns that need to be represented
property_crime = crime$Burglary   crime$Theft   crime
 #r #data-science



Вопрос:

Motor Vehical Theft` ## the rows that I am looking for have the name "harris" within the column named "county_name" ## my attempt with(crime, hist(harris)) ## Error in hist(harris) : object 'harris' not found

Не знаю, почему я получаю object 'harris' not found , так как это имя под county_name столбцом. Я новичок R , не мог бы кто-нибудь рассказать мне о процессе отображения гистограммы, включающей только значения определенных столбцов и определенных строк?

Комментарии:

1. Пожалуйста, поделитесь своими данными с dput()

2. Вам нужен неорганизованный вывод, который вставляется в консоль после использования dput()?

3. @LoganWhitehair Да, пожалуйста, вставьте результаты dput(crime)

4. Я не могу отредактировать свой вопрос с содержанием dput(преступление), поскольку он превышает лимит в 30000 символов

5. @LoganWhitehair Как насчет dput(crime[1:50, ]) ?? Есть ли у вас какой-либо экземпляр county_name == "harris" в первых 50 строках? Кроме того, мой ответ приблизил вас к тому, что вам нужно?

Ответ №1:

строки, которые я ищу, имеют имя «харрис» в столбце «имя округа».

Вы должны следовать R той же логике, что и мы.

Есть несколько способов сделать это, R но я собираюсь изложить здесь base R способ.

Мы можем получить доступ к нужным строкам crime столбца объекта county_name , индексируя, например data.frame[rows, columns] . Так что, в вашем случае, crime[harris_rows, "county_name"] должно сработать. Чтобы получить harris_rows , мы можем составить такой boolean индекс crime$county_name == harris . Если мы сложим все это вместе и позвоним hist() :

 hist(crime[crime$county_name == "harris", "county_name"])
 

Вы не приводите воспроизводимый пример, но вы можете проверить аналогичную логику с mtcars набором данных. Здесь я делаю гистограмму автомобилей с mpg > 15

 hist(mtcars[mtcars$mpg >15, "mpg"])
# this is another option that produces the same result
# hist(mtcars$mpg[mtcars$mpg >15])
 

Комментарии:

1. Было бы лучше всего добавить — crime[harris_rows, «имя_ округа»] в переменную и добавить столбцы, которые я хочу включить в другую переменную. Затем вызовите hist() с переменными, определенными ранее, в качестве параметров?

2. Я бы не стал слишком беспокоиться о лучших практиках на этом уровне вашего путешествия по R, но вы, безусловно, можете создать переменную, а затем передать ее в качестве индекса.

3. Спасибо за вашу помощь, вы помогли мне улучшить мое логическое понимание моей проблемы, однако я не верю, что понимаю синтаксис R достаточно, чтобы задавать больше хороших вопросов, чтобы получить ответ. Я обновлю, если найду решение или смогу придумать вопрос получше.