是否有R函数,可以在数据集中的特定列中获取名称

时间:2019-07-31 15:15:23

标签: r

编辑:借助一个用户的帮助,我能够使用“ table(ArrestData $ CHARGE)”,但是,由于有2400多个条目,因此许多条目被省略了。我正在寻找前五项费用,是否有代码?另外,我正在查看一个特定的议会区域(这是另一个名为“ CITY_COUNCIL_DIST”的变量)。我想看看哪个是在特定议会区域内发出的前五项费用。有代码吗?

感谢您的帮助!

随后是原始帖子


就像我可以使用“ names(MyData)”来查看变量名一样,我想知道是否可以使用代码来查看特定列的名称/响应/数据点。

换句话说,我正在尝试查看特定数据列的行中的名称。我想看看累积使用了哪些名称。

找到这个之后,我想知道行中每个名称被使用了多少次,无论是数字还是百分比。在此之后,我想看看在行中每个名称满足另一列/变量的数值的条件下使用了多少次。

很抱歉,以任何方式造成混淆。

为了更深入,我正在研究通过市长办公室网站获得的洛杉矶警方数据。从2017年至2018年,我试图查看在市议会第5区中列出了哪些费用以及每个特定费用的金额。CHARGE和CITY_COUNCIL_DIST是我正在查看的两个变量。

任何人和所有帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

要获取所有不同的变量,可以使用unique函数,如下所示:

> x <- c(1,1,2,3,3,4,5,5,5,6)
> unique(x)
[1] 1 2 3 4 5 6

要计算不同值的数量,可以使用table,如下所示:

> x <- c(1,1,2,3,3,4,5,5,5,6)
> table(x)
x
1 2 3 4 5 6 
2 1 2 1 3 1 

第一行为您提供不同的值,第二行为您提供每个值的计数。

编辑

此修改旨在回答我的上一个示例之后的第二个问题。

为了查找变量的最重复的前五个值,我们可以使用基数R。为此,我首先要从您的频率表中创建一个数据框:

df <- as.data.frame(table(x))

有了这个,现在您只需按降序对Freq列进行排序:

df[order(-df$Freq),]

但是,要查找组中变量的前五个重复值最高的,我们需要超越基数R。我将使用dplyr创建一个感兴趣的变量的每个值具有频率的增强数据框,让它为count_variable

library(dplyr)
x_or <- x %>% 
  group_by(group_variable, count_variable) %>% 
  summarise(freq=n())

其中x是您的原始数据帧,group_variable是您的组的变量,而count_variable是您要计数的变量。现在,您只需要按某种方式对对象进行排序,就可以得到count_variable所排序的group_variables的频率:

x_or %>% 
  arrange(group_variable, count_variable, freq)