我有一个包含文本字段和日期字段的数据集。以下.csv格式的示例:
ID,Text,Date,BP,Person
1,This is Text!,6/24/2013,120,Bob
2,I don't like Text.,6/24/2013,114,Bob
3,Text files are stupid.,6/24/2013,310,Genny
4,"The Cezanne, for 500 please.",6/24/2013,45,Glenn
5,I enhanced my coffee with Kahlua,6/25/2013,105,Genny
6,And something else here.,6/24/2013,200,Bob
我想删除文本字段中不包含单词“[Tt] ext”&日期为2013年6月24日。所以,记录4&当其他一切都存在时,6会被丢弃。
我试过像这样对框架进行子集化:
newframe <- frame[!which(grep('[Tt]ext', frame$Text) &
frame$Date == '6/24/2013'), ]
但这让我无处可去。
答案 0 :(得分:2)
请您以可更改的结构提供数据。使用grepl
,这应该有效:
frame[with(frame,
!grepl('[Tt]ext', Text) & Date == '6/24/2013'),]
ID Text Date BP Person
4 4 The Cezanne, for 500 please. 6/24/2013 45 Glenn
6 6 And something else here. 6/24/2013 200 Bob
答案 1 :(得分:0)
这是我的最终代码,使用grepl
命令:
newframe <- frame[ !(!grepl('[Tt]ext', frame$Plain.Text) & frame$Date == '6/24/2013', ]
这会获取原始数据框,不包括2013年6月24日不包含“[Tt] ext”的记录。