Создать фрейм данных с векторными элементами в одной его ячейке - Rstudio - PullRequest
0 голосов
/ 08 июля 2019

Я новичок в R и думаю, что это довольно просто, но я не нашел конкретного ответа на это.Я пытаюсь воспроизвести фрейм данных df только с одним столбцом с именем path.vec, который собирает пути векторных элементов.Каждая ячейка этого path.vec в df может быть простым элементом вектора или вектора элементов.

# это пример пути

vector <- c("apple", "banana", "melon") 

# ниже мой один элемент на вектор ячейки

df <- data.frame(
  path.vec = c("apple", "banana", "melon")
)

# добавление пути к вектору

** # Я пробовал append (), код ниже, но это разбивает мой вектор на 1 элемент в строке, пока я хочу сохранитьмой путь, когда путь есть, все вместе в одной клетке **

append(path.vec, vector, after = length(path.vec) ) 

[1] "apple" "banana" "melon" "apple" "banana" "melon" "apple" "banana" "melon"

В конце концов я хотел бы что-то вроде

path.vec = c("apple","banana","melon", c("apple", "banana", "melon"))
   [1] `"apple"  "banana" "melon"  c("apple", "banana", "melon")  '

или

   path.vec
 1 apple
 2 lemon
 3 melon
 4 c("appple", "banana", "melon")

Мне нужен этот фрейм данных как воспроизводимый пример реального фрейма данных, уже структурированного именно так, где мне нужно исследовать индексы конкретного элемента в векторе элементов.

спасибо!

1 Ответ

0 голосов
/ 09 июля 2019

только для справки. Я решил это с помощью list ():

       df_1 <- data.frame(id=1:4,
           path.vec = I(list("apple", "lemon", "melon",c("apple", "banana","melon")))

                        ) 

Столбец списка должен быть заключен в функцию I. Это защитит его от нескольких преобразований, происходящих в data.frame, и обеспечит вставку матриц в виде отдельных столбцов.

выход:

id  path.vec
1   apple
2   lemon
3   melon
4   c("apple", "banana", "melon")

спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...