R-如何重复序列1至522

R-如何重复序列1至522,r,sequence,series,R,Sequence,Series,我有两个文件,一个有522个项目id,我想从第一个文件中提取 下面的代码用于提取,但我不想手动重复522次data$projectID==datid[x,]| data1 = data[(data$projectID==datid[1, ] |data$projectID==datid[2, ]| ...| data$projectID==datid[522, ]), ] 如何将指令重复522次,每次增加一次 谢谢 data = read.csv("~/Desktop/PACA SNA/PA

我有两个文件,一个有522个项目id,我想从第一个文件中提取

下面的代码用于提取,但我不想手动重复522次
data$projectID==datid[x,]|

data1 = data[(data$projectID==datid[1, ] |data$projectID==datid[2, ]|  ...| data$projectID==datid[522, ]), ]
如何将指令重复522次,每次增加一次

谢谢

data = read.csv("~/Desktop/PACA SNA/PACA3.csv", header = TRUE, sep =";")

datid= read.csv("~/Desktop/PACA SNA/PACAID.csv", header = FALSE, sep =";")

data1 = data[(data$projectID==datid[1, ] | ...| data$projectID==datid[522, ]), ]

创建包含项目ID的向量。使用subset函数提取所需的数据

project.id <- as.vector(dataframe1$ID)
desired.data <- subset(dataframe2, dataframe2$ID %in% project.id)

project.id看一看
?合并
你离提交一份报告不远了,这将大大增加获得好答案的机会。话虽如此,我支持@Sotos:如果你能
merge
那就试试吧。一般来说,对于反模式
x==a | x==b |……
,解决方案是在%c(a,b,…)中
x%
。在本例中,
data1=data[data$projectd%在%vector\u中的\u id]
<如果
datid
是一个向量,或者
datid[,“id\u列”]
,如果
datid
是一个数据帧,其中id位于名为
“id\u列”
“id\u列”
的列中,则需要使用
datid
,否则将在此处导致错误。您的意思可能是
as.vector
,但这也应该是不必要的,
project.id