2015-12-23 5 views
-1

У меня есть 2 списка res1 и res2, которые я хочу записать в текстовый файл.Как написать 2 списка в текстовый файл?

> res1 
$`15` 
     a 
g 100 

$`10` 
     a 
g 112 

$`12` 
     a 
g 70 

$`30` 
     a 
g 80 
class(res1) 
[1] "list" 
str(res) 
List of 12 
$ 1 : num [1, 1] 100 
..- attr(*, "dimnames")=List of 2 
.. ..$ : chr "g" 
.. ..$ : chr "a" 

Я попытался это: write.matrix(res1,file="myfile.txt",sep="") Но я проверил выход, и это так:

100 
    112 
    70 
    80 

мой желаемый результат:

number value 
    15  100 
    10  112 
    12  70 
    30  80 
+4

Как насчет того, чтобы вы делили 'dput (res1)' в своем вопросе. – A5C1D2H2I1M1N2O1R2T1

+0

Сгладьте каждый список, а затем используйте 'cbind()', чтобы объединить их. –

ответ

3

Попробуйте это (для двух списков в настоящее время) :

# an example of a list: 

lista <- vector("list", 4) 
names(lista) <- c(1, 3, 5, 7) 
lista[[1]] <- 30 
lista[[2]] <- 50 
lista[[3]] <- 20 
lista[[4]] <- 33 

lista2 <- vector("list", 4) 
names(lista2) <- c(1, 3, 5, 7) 
lista2[[1]] <- 33 
lista2[[2]] <- 5 
lista2[[3]] <- 290 
lista2[[4]] <- 332 

# how to deal with the problem: 

macierz <- as.matrix(lista) 
macierz <- cbind(as.numeric(rownames(macierz)), macierz) 

macierz2 <- as.matrix(lista2) 

kolejnosc <- match(rownames(macierz), rownames(macierz2)) 
cbind(macierz, macierz2[kolejnosc, ]) -> result 
colnames(result) <- c("number", "value1", "value2") 

write.table(result, "./lista.txt", 
      row.names=FALSE, col.names=TRUE) 
+0

Я отредактировал свой ответ, чтобы ответить на ваш вопрос. – Marta

1

Попробуйте это,

# sample input 
lb <- lapply(1:4, function(x) round(runif(1)*100)) 
lc <- lapply(1:4, function(x) round(runif(1)*100)) 

# assuming both lists have the same name 
names(lb) <-names(lc) <- c(1:4) 

# writing to a file 
write.table(x = data.table(name=names(lb), 
          vb=as.vector(sapply(lb, `[`)), 
          vc=as.vector(sapply(lc, `[`))), 
      file = './justCreated.txt', 
      row.names = F, col.names = T, quote = F) 
Смежные вопросы