Список фреймов данных - извлечение строки из каждого фрейма данных - PullRequest
0 голосов
/ 27 мая 2018

У меня есть список фреймов данных, которые были созданы путем импорта файлов Excel, которые не имели уникальной структуры, например:

иногда у меня есть метка "Contact" в ячейке A8, иногда в A9,Но он всегда помечен как "Contact".

Я знаю, как извлечь "Contact", если Контакт будет в фиксированном положении, например, A9.В этом случае я бы написал следующий код:

lapply(test,"[",9,1,drop=FALSE)

Как изменить код, чтобы динамически находить, в какой строке в каждом кадре данных появляется метка "Contact"?

Спасибо!

Понятно, я не был достаточно ясен.Хорошо, вот изображение 2 DF из многих в моем списке.Вы можете видеть, что значение «Название компании» находится в 8-й строке первого DF и в 10-м втором DF.Как я могу динамически получить строку с этой функцией lapply (test, "[", 9,1, drop = FALSE)?

Пример моих данных

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Я думаю, вы должны использовать which(), чтобы найти строку с вашей целевой строкой, например:

df <- data.frame(cont = c(rep("Some data",7),"Contact",rep("Some data",2)), val = 1:10, stringsAsFactors = F)
df[which(df$cont == "Contact"),]
0 голосов
/ 27 мая 2018

Предположим, test - ваш фрейм данных, а строка "Contact" находится в первом столбце и в неизвестной строке.Затем вы можете определить первый столбец как имена строк в фрейме данных.

test <- data.frame(names=c("contact","other"), x=c(1,2), y=c(3,4))
rownames(test) <- test[,1]

и получить доступ к рассматриваемой строке с помощью

test["contact",]
...