繁体   English   中英

R regex转义不使用变量名

[英]R regex escape not working with variable names

我正在尝试根据列名选择R中数据框中的列。 我想要列名称包含“activity”,“subject”或“originaldataset”,或以“mean()”或“std()”结尾的列。 当我做

colselection <- grep('mean\\(\\)$|std\\(\\)$|subject|activity|originaldataset',
                     colnames(completedf))
selectdf <- completedf[,colselection]

我只获得带有“activity”,“subject”或“originaldataset”的列,没有以“mean()”或“std()”结尾。 注意:“completedf”是原始的完整数据框。

列名的示例: tBodyAccMag-mean(),tBodyAccMag-std(),tBodyAccJerkMag-mean(),tBodyAccJerkMag-std() 从具有read.table的文本文件中读取名称,并将具有名称的列放在字符向量中,该向量稍后用于数据框“completedf”中的列名。

我在Ubuntu 16.10上使用R版本3.2.3(2015-12-10)运行R Studio版本0.99.902。

刚刚想通了我正在关注的R课程的参与者。

列名不能包含R中的括号,因此R用括号标记替换括号。

例如:

fBodyBodyGyroJerkMag.std()

fBodyBodyGyroJerkMag.std ..

等等。 这就是带有标点符号的正则表达式起作用的原因,而带括号的正则表达式则不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM