Mam niektóre dane typu mieszanego, które chciałbym przechowywać w strukturze danych R pewnego rodzaju. Każdy punkt danych ma zestaw stałych atrybutów, które mogą być 1-d numeryczne, współczynniki lub znaki, a także zbiór danych o zmiennej długości. Na przykład:Najlepszy sposób przechowywania danych o zmiennej długości w R data.frame?
id phrase num_tokens token_lengths
1 "hello world" 2 5 5
2 "greetings" 1 9
3 "take me to your leader" 4 4 2 2 4 6
Rzeczywistych wartości nie wszystkie są obliczalne od siebie, ale to smak danych. Operacje, które zamierzam wykonać, obejmują podzbiór danych na podstawie funkcji boolowskich (np. Coś takiego jak nchar(data$phrase) > 10
lub lapply(data$token_lengths, length) > 2)
. Chciałbym również indeksować i uśredniać wartości w części o zmiennej długości według indeksu. ale coś takiego: mean(data$token_lengths[1], na.rm=TRUE))
Znalazłem mogę shoehorn „token_lengths” w data.frame poprzez uczynienie go tablicę:
d <- data.frame(id=c(1,2,3), ..., token_lengths=as.array(list(c(5,5), 9, c(4,2,2,4,6)))
ale jest to najlepszy sposób
W uśredniania może chcesz 'lapply (dane $ token_lengths, znaczy, na.rm = TRUE)'? Ale nie do końca rozumiem, czego chcesz. – Marek