【问题标题】:I want to create a R function which determines the mean height, mean, and coefficient of correlation of height and speed我想创建一个 R 函数来确定平均高度、平均值以及高度和速度的相关系数
【发布时间】:2023-01-13 19:07:26
【问题描述】:

我想创建一个函数 correlateHeightSpeed() 来从数据列表中生成一个数据帧 height_Speed。 然后它显示了平均高度,平均速度,以及高度和速度的相关系数 每种类型的过山车和每种过山车的材料。在此应忽略 NA 字段。

主表的示例 dput 数据看起来像

dput(coaster_Data[1:10, c("name", "material_type", "seating_type","speed","height")])
structure(list(name = c("Goudurix", "Dream catcher", "Alucinakis", 
"Anaconda", "Azteka", "Bat Coaster", "Batman : Arkham Asylum", 
"Big Thunder Mountain", "EqWalizer", "Calamity Mine"), material_type = structure(c(1L, 
1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), levels = c("Steel", "Wooden", 
"Hybrid", "na"), class = "factor"), seating_type = c("Sit Down", 
"Suspended", "Sit Down", "Sit Down", "Sit Down", "Inverted", 
"Inverted", "Sit Down", "Sit Down", "Sit Down"), speed = c(75, 
45, 30, 85, 55, 70, 80, 60, 76, 48), height = c(37, 25, 8, 35, 
17, 20, 32, 22, 36, 14)), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))

我已经尝试将数据排在前 10 位最高,并且我得到了正确的输出, 但是我需要对所有类型的过山车都这样做,这很令人困惑。

subset_coaster <- data.frame(coaster_Data$name,coaster_Data$material_type,coaster_Data$speed)

【问题讨论】:

  • 向我们展示您对解决方案的尝试。
  • 需要考虑的一些事项 - 您可以将 dplyr 包用于 group_by() 您的过山车类型,然后,例如,使用 summarise(meanHeight = mean(height)) 进行探索。这是一种方法的建议,而不是详细的解决方案。
  • @user2974951 我尝试了一些事情,但没有成功,因为我只获得了过山车的前 10 个高度,用所有材料类型查询它是我卡住的地方。 R编程还是新手

标签: r


【解决方案1】:

尝试这个

如您所见,您可以在函数“group_by”中调整您考虑的组

    library(dplyr)
    Coaster_data %>% group_by(material_type) %>% mutate(Mean_Speed=mean(speed, na.rm=TRUE), 
                                                        Mean_Height=mean(height, na.rm=TRUE), 
                                                        Corr=cor(speed,height, use="complete.obs"))



# A tibble: 10 × 8
# Groups:   material_type [2]
   name                   material_type seating_type speed height Mean_Speed Mean_Height   Corr
   <chr>                  <fct>         <chr>        <dbl>  <dbl>      <dbl>       <dbl>  <dbl>
 1 Goudurix               Steel         Sit Down        75     37       59.9        23.4  0.835
 2 Dream catcher          Steel         Suspended       45     25       59.9        23.4  0.835
 3 Alucinakis             Steel         Sit Down        30      8       59.9        23.4  0.835
 4 Anaconda               Wooden        Sit Down        85     35       85          35   NA    
 5 Azteka                 Steel         Sit Down        55     17       59.9        23.4  0.835
 6 Bat Coaster            Steel         Inverted        70     20       59.9        23.4  0.835
 7 Batman : Arkham Asylum Steel         Inverted        80     32       59.9        23.4  0.835
 8 Big Thunder Mountain   Steel         Sit Down        60     22       59.9        23.4  0.835
 9 EqWalizer              Steel         Sit Down        76     36       59.9        23.4  0.835
10 Calamity Mine          Steel         Sit Down        48     14       59.9        23.4  0.835

【讨论】:

  • 这很好用,但我在 Corr 中得到了 NA 值,你能告诉我为什么吗?
  • 我认为这是因为,您比较的组具有 <2 个值。如果不是,请查看带有参数 use="complete.obs" 的更新代码。这可能有效。
  • 你是个天才!非常感谢您的帮助!它就像一个魅力。
猜你喜欢
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多