[英]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.