如何从 r 中的数据框中删除标题行? [复制]
Posted
技术标签:
【中文标题】如何从 r 中的数据框中删除标题行? [复制]【英文标题】:How do I delete header rows out of my data frame in r? [duplicate] 【发布时间】:2021-05-27 16:25:52 【问题描述】:在我的数据巨大的 .csv 数据框中,我通过 cmd 合并了 100 多个 csv。这包括标题。现在,我希望从 R 中的主 csv 中删除以下重复的标题:
Year|RecID|ParID|ConParID|Country|Division|RegCnty|RegDist|SubDist|RC|RD|RSD|Parish|Area|Part|Population|MalePop|FemalePop|NoOfInstit|InstitPop|ParType|Censusref|ImageRef|PageType|DocType|EnuDist|BuildType|BTCode|NoOfRooms|NoOfRoomsCode|Schedule|H|Absent|Absentcode|HSS|InstName|InstDesc|VessName|VessPos|PID|Sex|SexInf|Age|Cage|AgeInf|Cond|Mar|MarInf|Relat|Rela|RelInf|HeadInf|Occ|HollerOcc|Occode|HISCO|Industry|HollerInd|Employ|EmployCode|AtHome|Inactive|Disab|DisCode1|DisCode2|Bpstring|BpCmty|Std_Par|BpCnty|Cnti|Alt_Cnti|BpCtry|Ctry|Alt_Ctry|HollerB|Nationality|Lang|Langcode|YearsMar|MarYear|ChildTot|ChildAlive|ChildDead|ChildrenCode|HHD|H_Sex|H_Age|H_Rela|H_Mar|H_Occ|H_CFU|SameName|CFU|n_CFUs|tn_CFUs|CFUsize|Spouse|Father|Mother|f_Off|m_Off|m_Offm|f_Offm|Offsp|Kids|Relats|Inmates|Servts|Non_Rels|Visitors|Military
此标头出现的次数与初始 csv 文件的出现次数一样多,而不是定期出现。如何选择包含此标题的所有行以将其包含在以下代码中:
myData <- myData[-c(...)]
任何帮助表示赞赏或其他替代解决方案。这是大数据,所以我无法在 excel 中打开和删除重复项。
【问题讨论】:
最好不要一开始就阅读它们。例如,read.csv
具有 header
参数。在线文档中的详细信息。
我有数百个文件,名称如 8721dnis843284,这将花费大量的时间和精力来编译......不过我会调查一下。但我认为我采取的方法是最简单的解决方案......
你还有那些 100+ csv 吗?不要使用 cmd 合并它们,而是在 R 中完成所有操作,请参阅这篇文章:***.com/q/11433432/680068
获取列表中的文件名。 list.files
?然后bind_rows(lapply, fileList, read.csv, header=TRUE)
或类似的。
【参考方案1】:
建议不要在cmd
中合并它们,而是在 R 中这样做,因为将所有数据 (UNION) 与标题合并为行,将导致列类型在任何地方都更改为字符串,你必须这样做重新改变他们的类型需要做很多工作。有关如何将这些合并到 R 本身的完整帮助,请参阅 this 答案。
如果您仍然有一个合并数据,您不想再次重复这些步骤,您可以通过此命令删除 R 中的标题行。
显然年份列不会有值 Year
除了标题行,所以这样做
myData <- myData[myData$Year != 'Year',]
myData$Year != 'Year'
将仅将 True
用于有意义的行,并将 myData
替换为这些有意义的行的子集,即(非标题)行。
如果您在任何地方的 Year 列值等于“Year”,请在其他列上使用此逻辑
【讨论】:
这会起作用,但你最终会得到一个包含所有列类字符的数据框。最好循环读取所有内容,让 R 转换为合适的类,然后进行行绑定。 但是,如果 OP 已经有一个 UNION 的数据,这样标题行在数据中重复并且仍然不想重新做一遍,那么可以确定所有列仅属于字符类型 没错,既然都是字符,那么通过这个答案,我们正在创建另一个要解决的问题:将所有非字符转换为特定的类。最好避免这一步,让 R 在单独导入每个文件时自动完成,然后简单地进行行绑定。 完全同意 @RyeRye 请查看链接帖子。以上是关于如何从 r 中的数据框中删除标题行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Pandas 的条件删除数据框中的某些行? [复制]