строка, разделенная запятыми, для перечисления в r

#string #r #list #comma

#r #строка #Список #разделить

Вопрос:

У меня есть разделенная запятыми строка в R:-

 "a,b,c"
  

Я хочу преобразовать ее в список, который выглядит следующим образом:

 list("a","b","c")
  

Как мне это сделать?

Ответ №1:

Это основная strsplit проблема:

 x <- "a,b,c"
as.list(strsplit(x, ",")[[1]])
# [[1]]
# [1] "a"
# 
# [[2]]
# [1] "b"
# 
# [[3]]
# [1] "c"
  

strsplit создает list и [[1]] выбирает первый элемент списка (в данном случае у нас есть только один). На данный момент результатом является обычный вектор символов, но вы хотите, чтобы он был в a list , поэтому вы можете использовать as.list для получения нужной формы.

С той же логикой вы можете использовать el :

 as.list(el(strsplit(x, ",")))
# [[1]]
# [1] "a"
# 
# [[2]]
# [1] "b"
# 
# [[3]]
# [1] "c"
  

Или scan :

 as.list(scan(text = x, what = "", sep = ","))
# Read 3 items
# [[1]]
# [1] "a"
# 
# [[2]]
# [1] "b"
# 
# [[3]]
# [1] "c"
  

Комментарии:

1. Идеальный. Я пробовал strsplit(x,»,»), который выдавал мне список отдельных элементов, который был не тем, что мне было нужно. Мне нужно подождать 9 минут, прежде чем я смогу пометить ваш ответ как принятый.