чтение таблицы в R?
У меня есть txt-файл со следующей структурой:
NAME DATA1 DATA2
a 10 1,2,3
b 6 8,9
c 20 5,6,7 ,8
Первая строка представляет заголовок, а данные разделенывкладками . Мне нужно поместить элементы DATA1
в список или вектор таким образом, чтобы я мог пересечь элементы один за другим.
Также мне нужно извлечь элементы DATA2
для каждого NAME
и поместить их в список, чтобы я мог пройти затем по отдельности, например, получить элементы 8,9 для NAME
b и поместить их в список. (Обратите внимание, что третья запись имеет пробел в списке в DATA2
между 7
и запятой).
Как я могу сделать обе эти операции? Я знаю, что могу использовать read.table
и $
для доступа к отдельным элементам, но я застрял.
info<-read.table("table1", header=FALSE,sep="t")
namelist<-list(info$NAME)
1 ответ:
Запустите эту демонстрацию и посмотрите на структуру
n
,d1
, иd2
- это должно помочь вам начать:df = read.table(text="NAME\tDATA1\tDATA2 a\t10\t1,2,3 b\t6\t8,9 c\t20\t5,6,7 ,8", header= TRUE, stringsAsFactors=FALSE, sep='\t') n = df$NAME d1 = df$DATA1 d2 = lapply(strsplit(df$DATA2, ","), as.numeric) names(d2) = n d2['b'][1] # access first element in list named 'b' lapply(d2, FUN=mean) # mean of all rows in d2