如何在R Studio中从旧数据框提取指定行创建新数据框?
从数据框提取特定行的正确方法
先说说你之前代码的问题
- 第一个报错:
filter函数得先传整个数据框,你直接传了paired1$Var1=='22'这个逻辑向量,函数不认这种类型,所以报错。 - 第二个报错:
Var1 == '11' & '22'写法不对,&两边得都是逻辑判断,你直接写'22'是字符,没法做逻辑运算,所以出错。
两种可行的解决办法
方法1:用dplyr的filter(推荐)
先加载dplyr包,然后用%in%匹配所有目标值:
library(dplyr) # 把要找的成对数字列成向量 targets <- c('11', '22', '33', '44', '55', '66', '77', '88', '99') # 提取符合条件的行生成新数据框 new_paired <- filter(paired1, Var1 %in% targets)
方法2:基础R原生写法(不用装包)
直接用数据框索引筛选:
targets <- c('11', '22', '33', '44', '55', '66', '77', '88', '99') new_paired <- paired1[paired1$Var1 %in% targets, ]
注意点
如果你的Var1列是数值类型(不是字符串),把targets改成数值向量就行:
targets <- c(11, 22, 33, 44, 55, 66, 77, 88, 99)
内容的提问来源于stack exchange,提问作者anastasiia
相关产品推荐
相关产品推荐

