如何解决从凌乱的 Excel 数据的前两行中的字符创建 R 中的描述性变量名称
你好 Stack Overflow R 社区。我正在尝试在 RStudio 版本 1.3.1073 中为 Mac 编写一个函数,该函数根据我使用的另一个计算机程序的凌乱 Excel 输出创建描述性和清理过的变量名称。
前两行提供了我想用作单个变量名称的基本元素,但我需要以这样一种方式组合这些元素,以便为进一步的统计分析准备数据。执行以下操作的程序:
-
“如果第 1 行条目缺少值,则用最近的上一个条目的副本填充单元格”
-
"第一步完成后,将第一行条目与 第二行,新变量名称为“第一个名称+名称” 2nd',并将这些作为新的列标题"
-
"删除最左边的两列一次 完成了两个步骤(因为这些是程序通常用于其他目的的占位符,在进行统计时没有价值)”。
这是一个示例,说明加载到 R 时数据的外观。我减少了正常输出(对于更多的跑步者,它有更多的多变量条目)并提供了一个简化的示例,说明我正在使用的内容和结果我'我试图找到:
return(Excel.Data)
...1 ...2 ...3 ...5 ...6 ...7 ...8 ...9 ...10 ...11 ...12 ...13
<chr> <lgl> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 Race NA NA NA NA NA John NA NA Vince NA NA
2 NA NA ID Type Level Date Est.T Fin.T Acc. Est.T Fin.T Acc.
3 NA NA Race1 FiveK hard 05/23 23.92 26.11 91.61 44.71 44.01 101.6
4 NA NA Race2 FiveK easy 06/01 21.54 22.41 96.12 43.23 45.09 95.87
除了前两行,每一行都是不同的观察,我感兴趣的是将数据变成这样的:
Race.ID Race.Type Race.Level Race.Date John.Est.T John.Fin.T John.Acc. Vince.Est.T Vince.Fin.T Vince.Acc.
1 Race1 FiveK hard 05/23 23.92 26.11 91.61 44.71 44.01 101.6
2 Race2 FiveK easy 06/01 21.54 22.41 96.12 43.23 45.09 95.87
我可以使用类似下面的代码来获得类似的结果:
Cleanup = function(table = data.frame,labels = vector(),file_output = str()){
rewrite <- table[-c(1,2),-c(1,2)]
colnames(rewrite) <- labels
write.csv(rewrite,file_output,row.names = FALSE)
}
但是,对于其他 Excel 跑步数据集,可能会有更多跑步者,以不同的顺序列出,并带有不同统计分析之间关联的附加变量(例如跑步期间的平均心跳和跑步时跑步者的体重)所以我正在尝试考虑这一点。每个运行程序包含的变量名称对于每个运行程序都是相同的,因为通常在 Excel 中它列在一个融合的列标题下,但是当导入到 R 时,这些变量名称将成为第一行中的 NA 值。
我应该采取什么方法来解决这个问题?感谢您的考虑,非常感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。