r - (R) 将列从名称重命名为响应时间序列
问题描述
我需要将名称为“V4、V5 等... V503”的列重命名为以两毫秒为增量的时间序列(即“-100-98、97-95 等...压缩到 900 毫秒”)。
对于包含从 -100 毫秒到 900 毫秒的大脑数据的列,这些增量为 2 秒。我试过使用 names() 和 substring() 但 R 不喜欢数字方面。任何人都可以帮忙吗?谢谢!
解决方案
您需要使用 将数字转换为字符串as.character
。-
您可以将偏移序列粘贴在一起以获取它们的范围,它会使用分隔符将数据强制转换为字符串。然后您需要删除 with 的实例,--
以便gsub
负值没有 double -
。请注意,在对这些列进行子集化时,您需要使用反引号。
sq <- seq(-100, 898, by=2)
sq2 <- seq(-98, 900, by=2)
nams <- paste(sq, sq2, sep='-')
nams <- gsub('--', '-', nams)
# generating fake dataframe
n <- length(sq)
df <- matrix(data=rep(1, n), nrow = 1, ncol=n)
df <- as.data.frame(df)
# replace names
colnames(df) <- nams
head(df)
推荐阅读
- asp.net-core - 调用 Clients.Others.SendAsync 断开收件人
- ms-access - MS Access 无法在表中同时保存 i 和 ɪ
- git - 如何在实时 git 存储库中分离链接对象(或如何从共享镜像中删除内部引用)
- python - verify_jwt_in_request() 在自定义 Flask Decorator 中调用时返回 None
- flutter - 使用 FutureBuilder 时为孩子设置动画
- amazon-web-services - 如何逐秒监控 Lambda 并发执行(或找到更好的解决方案来限制 Lambda 并发执行)?
- python - pyqt5:第二个视频不播放:并发 QMediaPlayer 问题?
- elasticsearch - 查询返回elasticsearch上的搜索差异
- regex - 在第一场比赛中停止正则表达式引擎
- ios - 时区(缩写:)与时区(从格林威治标准时间开始的秒数:)