R中的USArrests data.frame-状态(行)表示最小和最大犯罪率(列)

问题描述 投票:0回答:2

我正在使用R中的USArrests data.frame,我需要查看每种犯罪(谋杀,殴打和强奸)的状态,这表示最小和最大的犯罪率。我想我必须计算每种犯罪的最大和最小,而我已经做到了。

其中(USArrests $ Murder ==分钟(USArrests $ Murder))[1] 34

问题是我无法检索第34行的状态,而只能检索整行:

USArrests [34,]谋杀突袭UrbanPop强奸北达科他州0.8 45 44 7.3

我刚开始使用R,所以任何人都可以帮我吗?

r dataframe max min rowname
2个回答
0
投票

[要从R中的dataframe中提取列,可以使用$运算符,后跟列名:USArrests$Murder,或使用[运算符,并在逗号后使用列名:[C0 ]

这两个命令都将提取整列。

要查找向量列中值最低的元素,可以使用USArrests[, "Murder"]函数。

您的命令将成为:

which.min

0
投票

我通常会建议对这种问题采取不同的方法,但是为简便起见,我将提供以下解决方案,也许以后会以更深思熟虑的方式返回。

您可以使用> USArrests[which.min(USArrests$Murder), "Murder"] [1] 0.8 功能查看数据框的特定“属性”。

例如:

attributes()

将为您提供以下输出。

attributes(USArrests)

所以现在我们知道数据框由“名称”(负责人的姓名),“ row.names”(州名称)组成,并且“类”是一个数据框。作为R的新手,必须注意的是,在以上结果中,行ID仅针对每个新行中的第一项给出。在最后一步中,这将更有意义。

利用这些知识,我们可以使用属性通过执行以下操作来仅找到状态:

$names
[1] "Murder"   "Assault"  "UrbanPop" "Rape"    

$class
[1] "data.frame"

$row.names
 [1] "Alabama"        "Alaska"         "Arizona"        "Arkansas"       "California"     "Colorado"      
 [7] "Connecticut"    "Delaware"       "Florida"        "Georgia"        "Hawaii"         "Idaho"         
[13] "Illinois"       "Indiana"        "Iowa"           "Kansas"         "Kentucky"       "Louisiana"     
[19] "Maine"          "Maryland"       "Massachusetts"  "Michigan"       "Minnesota"      "Mississippi"   
[25] "Missouri"       "Montana"        "Nebraska"       "Nevada"         "New Hampshire"  "New Jersey"    
[31] "New Mexico"     "New York"       "North Carolina" "North Dakota"   "Ohio"           "Oklahoma"      
[37] "Oregon"         "Pennsylvania"   "Rhode Island"   "South Carolina" "South Dakota"   "Tennessee"     
[43] "Texas"          "Utah"           "Vermont"        "Virginia"       "Washington"     "West Virginia" 
[49] "Wisconsin"      "Wyoming"     

要在您确定为北达科他州的列表中找到第34个州,我们可以按照以下方式简单地给出该州的行ID。

attributes(USArrests)$row.names

哪个会给你。...

attributes(USArrests)$row.names[34]

同样,这可能不是最优雅的方法,但是它将适合您的情况。

希望这对您有所帮助,并且编码愉快。

© www.soinside.com 2019 - 2024. All rights reserved.