【发布时间】:2011-01-20 06:38:36
【问题描述】:
我有一些混合类型的数据,我想将它们存储在某种 R 数据结构中。每个数据点都有一组固定属性,可以是一维数字、因子或字符,还有一组可变长度数据。例如:
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
实际值并非都可以相互计算,但这就是数据的特点。我要做的操作包括基于布尔函数(例如nchar(data$phrase) > 10或lapply(data$token_lengths, length) > 2)之类的东西)对数据进行子集化。我还想按索引对可变长度部分中的值进行索引和平均值。这不会不行,但类似:mean(data$token_lengths[1], na.rm=TRUE))
我发现我可以通过将“token_lengths”设置为数组来将它塞入 data.frame:
d <- data.frame(id=c(1,2,3), ..., token_lengths=as.array(list(c(5,5), 9, c(4,2,2,4,6)))
但这是最好的方法吗?
【问题讨论】:
-
在平均时也许你想要
lapply(data$token_lengths, mean, na.rm=TRUE)?但我不完全明白你想要什么。