У меня есть набор данных из 600 000 научных статей с 2012 года и 600 000 с 2014 года. Я использую пары статей (2014-2012) как свою единицу анализа, для анализа цитат и т. П.Условная выборка на основе значения столбца
У меня есть список всех статей с ссылкой на цитату (с 2014 года по 2012 год), и я хочу, чтобы каждый раз, когда 2014-doc цитирует 2012-doc (Cit = 1), элемент управления с еще одним 2012-документом, который не цитируется этим документом 2014 года, но который исходит из того же журнала, что и оригинал.
Игрушка пример:
Citing <- data.frame(T2012=c("DOI1", "DOI2", "DOI3"),
S2014=c("DOIa", "DOIb", "DOIc"),
journal2012=c("Nature", "Science", "JoE"),
cit=c(1,1,1))
Docs2012 <- data.frame(T2012=c("DOI1", "DOI2", "DOI3", "DOI4", "DOI5", "DOI6",
"DOI7", "DOI8", "DOI9", "DOI10", "DOI11", "DOI12",
"DOI13"),
Journal=c("Nature", "Science", "JoE", "Nature", "Nature",
"JoE", "Science", "JoE", "Nature", "Science",
"Science", "JoE", "Science"))
... Теперь я хочу добавить 3 строки для каждого Cit = 1, где S2014 и journal2012 остаются теми же, Cit = 0 и T2012 является случайным DOI из того же журнал как Cit = 1-case выше. Я попробовал сложные циклы, чтобы нарисовать T2012, но они будут занимать несколько дней, учитывая размер моего набора данных. Это то, что я хочу, чтобы в конечном итоге с:
Citing_withcontrol <- data.frame(T2012=c("DOI1", "DOI5", "DOI4", "DOI9", "DOI2",
"DOI13", "DOI7", "DOI11", "DOI3", "DOI8",
"DOI6", "DOI12"),
S2014=c("DOIa", "DOIa", "DOIa", "DOIa",
"DOIb", "DOIb", "DOIb", "DOIb",
"DOIc", "DOIc", "DOIc", "DOIc"),
journal2012=c("Nature", "Nature", "Nature",
"Nature", "Science", "Science",
"Science", "Science", "JoE", "JoE",
"JoE", "JoE"),
cit=c(1,0,0,0,1,0,0,0,1,0,0,0))
Помощь больш была бы оценена