如何在不是因素的2个数据框列上运行摘要统计信息?

滚动表达式

一点背景:

我有一个约有1万行和5列的数据框,该数据框是从SQL数据库中导入的。这些列中的一列包含一个URL,其余列包含一些其他变量,即整数和字符的组合。这是表格的示例,每列的类都放在方括号中:

     URL(char)   A(char)   B(char)   C(int)   
1    http://      ab         gh        11       
2    http://      cd         ij        14      
3    http://      ef         kl        11      
...

在将SQL Server中的表读入R时,我没有使用stringsAsFactors,因为我要做的部分工作是分解URL以便从中提取几个字符串:

  1. 城市名称
  2. 职业类型
  3. 工资

太酷了,我打算将正则表达式和grep所需的内容从URL中删除,并为每个URL新建一个列。这是我为城市所做的一个示例。

dF$city= str_extract_all(string = dF$source_url, pattern = "newyork|los_angeles|chicago|houston|philadelphia|phoenix|san_antonio|san_diego|dallas")

完成后,数据框将如下所示:

     URL(char)   A(char)   B(char)   C(int)   City(list)   Occupation(list)   Salary(list) 
1    http://      ab         gh        11       NY            programmer          90
2    http://      cd         ij        14       SF            ditch digger        85
3    http://      ef         kl        11       LA            programmer          88
...

凉爽的。现在,我感觉很好,并决定运行摘要统计信息。具体来说,我想查找清单上每个职业的平均工资(大约有十二种不同的类型,并且所有拼写都统一)。由于我仍然无法理解R中的循环,因此我一直在撞墙–我将如何计算出每个城市和职业如何获得平均薪水?

请注意,我正在尝试将stringsAsFactors设置为false,以便我可以对URL的必要部分进行正则表达式/ grep。

有没有人有什么建议?

tumultous_rooster

这是一个简化的版本,其中数据框仅具有“ A”,“城市”,“职业”和“薪水”。薪水有简单的数字,因此您可以快速直观地检查结果是否正确。

这实际上很简单(手指交叉)。您只需要使用unlist

另一件事,我不会太在意使用因素,也不会觉得您必须使用它们。在这种情况下,根本不需要任何因素。

无论如何,这是代码:

library('dplyr')
library('stringr')

source_URL应该有希望是这样的,你有什么:

source_URL <- c('NYblahditch digger10', 'NYhassomeprogrammermaking20', 'IheartNYditch digger30', 'NYnotNJprogrammer40', 'SFsmellsditch diggers50', '60programmerSF', 'ditch diggerInSFmakes70kayear', 'SFarewedoneyet80programmer')

现在我们创建数据框:

df <- data.frame(A=c('ab', 'cd', 'ef', 'gh', 'ij', 'kl', 'mn', 'op'))
df$City <- unlist(str_extract_all(string = source_URL, pattern = "NY|SF"))           
df$Occupation <- unlist(str_extract_all(string = source_URL, pattern = "ditch digger|programmer"))
df$Salary <- as.numeric(unlist(str_extract_all(string = source_URL, pattern = '10|20|30|40|50|60|70|80')))

检查以确保数据框看起来像您需要的样子才能继续:

> str(df)
'data.frame':  8 obs. of  4 variables:
  $ A         : Factor w/ 8 levels "ab","cd","ef",..: 1 2 3 4 5 6 7 8
$ City      : chr  "NY" "NY" "NY" "NY" ...
$ Occupation: chr  "ditch digger" "programmer" "ditch digger" "programmer" ...
$ Salary    : num  10 20 30 40 50 60 70 80

现在投入dplyr使用:

df1 <- group_by(df, City, Occupation) %>%
   summarise(Mean_Wage = mean(Salary))                 

..结果如下:

> df1
Source: local data frame [4 x 3]
Groups: City

City   Occupation Mean_Wage
1   NY ditch digger  20
2   NY   programmer  30
3   SF ditch digger  60
4   SF   programmer  70

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

否定选择数据框后如何在R中获得摘要统计信息

来自分类Dev

如何在Pandas数据框中计算汇总的摘要统计信息

来自分类Dev

如何用另一个数据框的值过滤出一个数据框并根据发生次数收集统计信息?

来自分类Dev

熊猫:如何在一个列上合并具有相同列名的多个数据框?

来自分类Dev

计算数据框中列的摘要统计信息

来自分类Dev

无法遍历数据框并生成摘要统计信息

来自分类Dev

需要帮助获取R数据框的摘要统计信息

来自分类Dev

获取列表中嵌套数据框的摘要统计信息

来自分类Dev

列表中多个数据框的摘要统计

来自分类Dev

如何在行而不是列上对数据框进行排序?

来自分类Dev

R:ggplot2,如何在面板图的每个面板上注释摘要统计信息

来自分类Dev

如何在ggplot2中按组显示摘要统计信息

来自分类Dev

根据从前一个数据框计算出的统计信息创建一个新的数据框

来自分类Dev

在 R 中创建一个包含另一个数据框统计信息的新数据框

来自分类Dev

如何打印数据框统计信息?

来自分类Dev

在Python Pandas中,如何在datetime列上联接由periodindex索引的另一个数据框?

来自分类Dev

如何合并2个数据框?

来自分类Dev

如何创建一个数据框,它将在Python中给出多个数据框的摘要?

来自分类Dev

如何创建一个数据框,它将在Python中给出多个数据框的摘要?

来自分类Dev

如果该列在每个数据集中具有不同的名称,如何在一个列上合并两个数据框?

来自分类Dev

根据另一个数据框的横截面统计信息选择一个数据框中的条目

来自分类Dev

使用group_by()使用dplyr计算数据框的摘要统计信息

来自分类Dev

如何返回摘要统计信息列表?

来自分类Dev

在一行中的2个数据框列上应用Lambda

来自分类Dev

按两个元素分组的数据框的统计信息

来自分类Dev

如何在2个表之间运行存储过程查询并在引用列上插入数据库?

来自分类Dev

Spark:摘要统计信息

来自分类Dev

如何在一个散点图上在自己的列上绘制多个数据集

来自分类Dev

使用摘要统计信息在ggplot2中产生一个箱线图

Related 相关文章

  1. 1

    否定选择数据框后如何在R中获得摘要统计信息

  2. 2

    如何在Pandas数据框中计算汇总的摘要统计信息

  3. 3

    如何用另一个数据框的值过滤出一个数据框并根据发生次数收集统计信息?

  4. 4

    熊猫:如何在一个列上合并具有相同列名的多个数据框?

  5. 5

    计算数据框中列的摘要统计信息

  6. 6

    无法遍历数据框并生成摘要统计信息

  7. 7

    需要帮助获取R数据框的摘要统计信息

  8. 8

    获取列表中嵌套数据框的摘要统计信息

  9. 9

    列表中多个数据框的摘要统计

  10. 10

    如何在行而不是列上对数据框进行排序?

  11. 11

    R:ggplot2,如何在面板图的每个面板上注释摘要统计信息

  12. 12

    如何在ggplot2中按组显示摘要统计信息

  13. 13

    根据从前一个数据框计算出的统计信息创建一个新的数据框

  14. 14

    在 R 中创建一个包含另一个数据框统计信息的新数据框

  15. 15

    如何打印数据框统计信息?

  16. 16

    在Python Pandas中,如何在datetime列上联接由periodindex索引的另一个数据框?

  17. 17

    如何合并2个数据框?

  18. 18

    如何创建一个数据框,它将在Python中给出多个数据框的摘要?

  19. 19

    如何创建一个数据框,它将在Python中给出多个数据框的摘要?

  20. 20

    如果该列在每个数据集中具有不同的名称,如何在一个列上合并两个数据框?

  21. 21

    根据另一个数据框的横截面统计信息选择一个数据框中的条目

  22. 22

    使用group_by()使用dplyr计算数据框的摘要统计信息

  23. 23

    如何返回摘要统计信息列表?

  24. 24

    在一行中的2个数据框列上应用Lambda

  25. 25

    按两个元素分组的数据框的统计信息

  26. 26

    如何在2个表之间运行存储过程查询并在引用列上插入数据库?

  27. 27

    Spark:摘要统计信息

  28. 28

    如何在一个散点图上在自己的列上绘制多个数据集

  29. 29

    使用摘要统计信息在ggplot2中产生一个箱线图

热门标签

归档