我有一个df,如下:其中有2列,即学生姓名和分数。
Stud_name Marks
Jon 25
john 20
ajay 50
ram 27
jay 61
jess 46
troy 23
mike 42
steve 45
glenn 43
我只想要几个名字和他们的商标。
预期输出:
Stud_name Marks
john 20
ajay 50
jess 46
troy 23
ram 27
glenn 43
请帮助。
我尝试过:
pd <- filter(df,Stud_name == "john" , "ajay" , "jess")
Error in filter_impl(.df, quo) :
Evaluation error: operations are possible only for numeric, logical or
complex types.
答案 0 :(得分:2)
如果可以考虑使用基本解决方案,则可以尝试以下方法:
# your data
dats <- read.table(text='Stud_name Marks
Jon 25
john 20
ajay 50
ram 27
jay 61
jess 46
troy 23
mike 42
steve 45
glenn 43',sep='', header=T)
# vector with choosen names
names <- c("john","ajay","jess")
dats[which(dats$Stud_name %in% names),]
或(感谢@markus):
dats[(dats$Stud_name %in% names),]
Stud_name Marks
2 john 20
3 ajay 50
6 jess 46