【问题标题】:Problems using some functions in a data frame在数据框中使用某些函数时出现问题
【发布时间】:2020-06-20 01:13:46
【问题描述】:

我是 R 的初学者,但在处理数据集时遇到了一些问题。我有一个 Arduino 设备,它收集当地的湿度和温度并将其存储在一个带有测量时间戳的“txt”文件中(所以我有日期、时间、湿度和温度,以°C 为单位)。

我可以在 RStudio 中打开该文件,但无法对其执行操作。例如,我需要从温度和湿度读数中取平均值并绘制图表,但它不起作用。每次我使用 mean() 时,它都会返回 NA 作为结果。文件里面没有什么特别的,我尽量保持简单。我做错了什么?

我可能也会遇到日期和小时格式的问题,因此任何关于该格式的见解都会有所帮助。

谢谢!

其他信息 我正在使用以下代码来读取文件并使用数据集:

library(ggplot2)
library(dplyr)
library(tidyverse)
library(readr)
df <- read.table('logger.TXT', header = TRUE, sep = ';', dec = '.')
mt <- mean(df$temp) ## calculates the mean for temperature
my <- mean(df$hum) ## calculates the mean for humidity

OBS:如果我使用 summarise,代码可以工作:

df %>%
summarise(mean_t, mean(temp, na.rm = TRUE))

数据集信息 - 测量值存储在“txt”文件中。 - 第一行是标题(天;小时;嗡嗡声;温度) - 日期格式为 dd/mm/yyyy - 小时格式为 hh:mm:ss(24 小时格式) - 嗡嗡声和温度的小数位用“.”分隔。 - 这是数据框的标题:

        day     hour  hum temp
1 19/3/2020 13:39:34 53.0 31.8
2 19/3/2020 13:54:34 53.1 31.7
3 19/3/2020  14:9:33 53.5 30.9
4 19/3/2020 14:24:33 54.1 31.2
5 19/3/2020 14:39:33 53.8 31.3
6 19/3/2020 14:54:33 53.5 31.4
  • 失败的读数存储为空格,因此 R 将其解释为 NAs

【问题讨论】:

  • mean 中使用na.rm = TRUE,即mt &lt;- mean(df$temp, na.rm = TRUE)
  • 提示:dplyrggplot2readrtidyverse 的一部分
  • 感谢 Ronak 和 Martin 的回复。需要说明的是,如果我使用tidyverse,我不必加载其他库?

标签: r


【解决方案1】:

我发布 Ronak Shah 的答案是因为它可能对其他人有用。

使用na.rm = TRUE in mean i.e mt &lt;- mean(df$temp, na.rm = TRUE)

谢谢!

【讨论】:

    猜你喜欢
    • 2010-10-17
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多