#r #list
#r #Список
Вопрос:
Я хочу преобразовать одномерный именованный список в одну строку — строку. Имена должны быть сохранены и сохранены как пары ИМЯ = ЗНАЧЕНИЕ, разделенные точкой с запятой.
мой тестовый список
nl = list(case1="master2", case2=5, case3="master", case4=345)
Я попробовал следующее
sapply(names(nl),function(x) paste(x,paste(nl[[x]],collapse="=")))
case1 case2 case3 case4
"case1 master2" "case2 5" "case3 master" "case4 345"
что мне нужно, так это
"case1=master2;case2=5;case3=master;case4=345"
Ответ №1:
Вы можете использовать paste()
для создания разделителя «=» и свертывания с помощью «;». names()
позволяет получить доступ к именам в списке.
ОБНОВЛЕНО с учетом предложения @Dason.
paste(names(nl),nl,sep="=",collapse=";" )
[1] "case1=master2;case2=5;case3=master;case4=345"
Комментарии:
1. Просто вставьте (имена (nl),nl, sep=»=»,collapse=»;» )
2. Отлично! Я знал, что есть простой способ достичь цели, спасибо!