R语言中单列多变量的数据子集提取求助
帮你梳理
rope数据集的基础处理思路 嘿,别担心!既然你有R语言基础,咱们先把你提供的rope数据集前6行的结构清晰展示出来,方便后续分析:
head(rope) # 列名与前6行数据: X...Sound Time.real. Time.in.Video. Observations Observation.total.time Time.of.the.shark.in.the.video Time.of.the.shark.entering.the.video 1 5_min_blank 10:18 03:59 (2) 60 23 04:03 2 5_min_blank NA NA NA 37 NA 04:20 3 Fisch1 10:23 08:59 6 157 17 08... 4 Fisch1 NA NA NA 46 NA NA 5 Fisch1 NA NA NA 37 NA NA 6 Fisch1 NA NA NA 28 NA NA
基于你目前的R基础,我先给几个实用的入门处理方向:
清理缺失值(NA):如果想快速删掉包含NA的行,用基础R命令
rope_clean <- na.omit(rope)就行;要是想精准保留特定行(比如只保留有Time.real.记录的行),用dplyr包的filter()更灵活:library(dplyr) rope_filtered <- rope %>% filter(!is.na(Time.real.))简化列名:原列名里的点和省略号看着有点乱,用
rename()可以改成更直观的名字:rope_renamed <- rope %>% rename(Sound = X...Sound, Real_Time = Time.real., Video_Time = Time.in.Video., Obs_Count = Observations, Obs_Total_Time = Observation.total.time, Shark_Video_Time = Time.of.the.shark.in.the.video, Shark_Enter_Time = Time.of.the.shark.entering.the.video)转换时间格式:那些像
10:18的时间字符串没法直接做计算,转成R的时间类型就方便多了,推荐用hms包:library(hms) rope_renamed$Real_Time <- as_hms(rope_renamed$Real_Time)
要是你有具体的需求(比如想统计每个Sound的观测时长,或者处理括号里的观测值),随时补充细节就行!
内容的提问来源于stack exchange,提问作者Jessi
相关产品推荐
相关产品推荐

