2015-09-06 3 views
0

я разделить мой ФР в список, содержащий 500 групп таким образом:Получение легкоиспользуемого результата в R?

c1=cut(SNP_Allele_Frequency$College_SE,500) 
splitc1=split(SNP_Allele_Frequency,c1,drop=FALSE) 

Тогда я получил средний для всех компонентов списка так:

sink("acb1.txt") 
lapply(splitc1, function(x) mean(x$ACB)) 
sink() 

проблема, мне нужно сохранить вывод в формате, пригодном для чтения в формате Excel или формате R, но на выходе есть вся информация, и я должен скопировать каждый случай вручную, чтобы использовать его. Что я имею в виду, так это то, что мне нужно только среднее значение (например, 0.3879208), а не остальная часть вывод (например, $ (-0.001,0.01] [1]), и я хочу сохранить его как столбец/вектор, чтобы я мог напрямую использовать i т.

$`(-0.001,0.01]` 
[1] 0.3879208 

$`(0.01,0.02]` 
[1] 0.3855017 

$`(0.02,0.03]` 
[1] 0.379335 

$`(0.03,0.04]` 
[1] 0.3769094 
+1

'as.character (unlist (lapply (splitc1, функция (х) среднее (х $ АСВ))))'; unlist делает его единственным вектором, а as.character удаляет имена – scoa

+0

Это лучше, но каждая строка содержит 6 случаев вместо 1, поэтому я заканчиваю на 16 строк вместо 100 (100 - количество компонентов): «0.387920777218443» "0.385501709167821" "0.379334987419263" "0.376909435983493" "0.383703895370679" "0.375541410387485" –

ответ

0

я решил это так: ibs1=as.character(unlist(lapply(splitc1, function(x) mean(x$IBS)))) write.table(ibs1,file="ibs1.csv",row.names=FALSE)

Смежные вопросы