r - 排除某些列在 R 中添加后缀
问题描述
我正在尝试为一个数据集中的所有列添加一些后缀 (.1),除了我稍后将用于匹配的那些我不想更改其名称的列。我正在尝试这个,但它给了我一个错误(“长度不匹配......”):
colnames(df[,-which(names(df)==c("survey", "ID", "HID"))]) <- paste(colnames(df[,-which(names(df)==c("survey", "ID", "HID"))]), "1", sep = ".")
有什么建议么?谢谢!
解决方案
你经常犯错误。
首先,您从df
. 然后得到它的colnames
. 然后更改这些名称。您没有更改原始数据框的列名,只更改了 sub-df。当指令结束时,这个 sub-df 会丢失。
icol <- which(names(df) %in% c("survey", "ID", "HID"))
colnames(df)[-icol] <- paste(colnames(df)[-icol], "1", sep = ".")
推荐阅读
- python - 多重最大标注 matplotlib
- machine-learning - 水流,是否可以解释个别预测?
- javascript - 为什么在nodejs中传播语法抛出错误
- sparql - 使用 wikidata + SPARQL 为给定电影选择一个与给定出版地点匹配的出版日期
- javascript - 是否可以使用 Webpack 将选择性 [.js] 文件包含到特定生成的 [.html] 页面中?
- c# - 在着色器代码中增加纹理的强度 - OpenGL
- tensorflow - SageMaker TensorFlow SavedModel 导出格式是什么?
- ios - Crashlytics 未报告崩溃 - Carthage Swift
- python - 如何使用 tensorflow 检测汽车轮胎的损坏情况?
- elasticsearch - 弹性搜索查询过滤器最高分是多少