我有一个数据框包含这些变量名称:"X_1","X_106","X_110","X_111","X_112"
以及其他以字母表中其他字母开头的名称。我有兴趣将"_v1"
仅附加到以"X"
开头的变量,如上所示。我如何在R中完成这项工作?将字母添加到变量名的末尾
0
A
回答
2
names(df2) <- ifelse(grepl("^X",names(df2)), paste0(names(df2),"_v1"), names(df2))
5
或者只是:
colnames(dat) <- sub("(^X.*)", "\\1_v1", colnames(dat))
例如:
dat <- data.frame(a=1, b=2, c=3,
X_1=4, X_106=5, X_110=6, X_111=7, X_112=8)
dplyr::glimpse(dat)
## Observations: 1
## Variables: 8
## $ a (dbl) 1
## $ b (dbl) 2
## $ c (dbl) 3
## $ X_1 (dbl) 4
## $ X_106 (dbl) 5
## $ X_110 (dbl) 6
## $ X_111 (dbl) 7
## $ X_112 (dbl) 8
colnames(dat) <- sub("(^X.*)", "\\1_v1", colnames(dat))
dplyr::glimpse(dat)
## Observations: 1
## Variables: 8
## $ a (dbl) 1
## $ b (dbl) 2
## $ c (dbl) 3
## $ X_1_v1 (dbl) 4
## $ X_106_v1 (dbl) 5
## $ X_110_v1 (dbl) 6
## $ X_111_v1 (dbl) 7
## $ X_112_v1 (dbl) 8
+0
你可以只做'str(dat)'而不是加载一个包并打字太多,只是说。很好的解决方案 –
+0
我真的更喜欢'str'上的'glimpse'输出' – hrbrmstr
+0
'它们只有'num'和'(dbl)'有区别,还是我错过了某些东西? –
1
我相信,因为这将是简单的:
library(stringr)
names(my_data) <- ifelse(str_detect(names(my_data), "^X_"), paste(names(my_data), "v1", sep = "_"), names(my_data))
的str_detect(names(my_data), "^X_")
是什么样子的名字是从X_开始。
相关问题
- 1. 如何将数字添加到int变量的末尾?
- 2. 如何将字母添加到字符数组的末尾?
- 3. 在URL末尾添加变量 - PHP
- 4. 将增量整数添加到C末尾的字符串中
- 5. Stringbuilder将%添加到URL的末尾
- 6. 将.html添加到URL的末尾
- 7. 将列添加到文件的末尾
- 8. 将\ n添加到每行的末尾
- 9. 将元素添加到NSMutableArray的末尾
- 10. 将空白添加到textwrapping的末尾?
- 11. 将项添加到ListView的末尾
- 12. 将值添加到URL的末尾 - HTML
- 13. 在文本区域中添加字母到末尾
- 14. 将每个单词的第一个字母追加到末尾
- 15. 如何在字符串的末尾添加字母/短语?
- 16. 将项目添加到队列末尾
- 17. GData将\添加到元素末尾
- 18. javascript添加变量到链接的末尾
- 19. django integrityerror将_id添加到我的属性名称的末尾
- 20. 将签名添加到电子邮件的末尾
- 21. htaccess的增加.PHP至$ _GET变量的末尾添加斜线
- 22. MySQL - 将字添加到文本列的末尾
- 23. 使用jQuery将数字添加到div的末尾
- 24. 在字母数字字符串末尾的javascript增量数字
- 25. 添加到Python的一行的末尾
- 26. 检查多行并将字符串添加到末尾
- 27. 自动添加到URL的末尾
- 28. 添加到Vagrant路径的末尾
- 29. 用ajax添加行到表的末尾
- 30. 将尾部字符添加到单词末尾的第一个元音中
或'g < - grepl(“^ X”,names(df2));名称(df2)[g] < - paste0(名称(df2)[g],“_ v1”)'放弃'ifelse()'呼叫 –
叹息...再次用快速枪击... – brittenb
@RichardScriven嘿,为什么不'library(data.table); setDT(list(names(dat)))[grep(“^ X”,V1),V1:= paste0(V1,“_ v1”)]'? – Frank