r - 在 R 中匹配具有动态格式的字符串

标签 r

我想检查列是否没有输入数据框的标题。 当我使用 fread(filename) 将缺少的标题更改为默认名称“V+列数”(例如:第一列的 V1、V2 等)时,就会出现问题。我阅读了该函数的文档,似乎无法更改 header 的默认值。 因此,考虑到这一点,我想将所有包含 V + number 的列作为缺失的标题。如果有人解释如何做这样的事情将会非常有帮助:

if(string == (V1, V2, ... VN)){ 做某事 } 就像比较字符串是否等于“V”加整数一样。

最佳答案

您可以使用 str_extract 获取所有列 Vx 值,我认为是从 stringr 包中获取的。

library(stringr)
str_extract(colnames(myDataFrame), "V\\d*")

示例:

dt <- data.frame("aaaa" = c(1:5), "V2" = c(6:10), "V3123" = c(11:15), "V455" = c(16:20))
str_extract(colnames(dt), "V\\d*")

"NA" "V2" "V3123" "V455"

然后您可以使用列名称执行您需要的操作

关于r - 在 R 中匹配具有动态格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45439028/

相关文章:

R:在水平图中显示按分组变量分层的值

r - 连续一些位置的总和 - R

mysql - 如何根据R中的价格范围将数据从一列复制到新列?

r - "Marking"R 中的重复项

r - 将包含多边形坐标的数据框转换为 sf

r - 在 R 中创建 xlsx 工作表 - 字体颜色不起作用

r - 使用 R 包 "googledrive"从我的谷歌驱动器中加载 R 文件

r - 重申弹性表的表分配

R bigmemory attach.big.matrix 对于非常宽的矩阵来说非常慢

r - R中的plyr在合并过程中非常慢