在RHadoop中,当我们使结果可读时,它将使用代码:
results <- data.frame(words=unlist(lapply(Output_data,"[[",1)), count
=unlist(lapply(Output_data,"[[",2)))
但lapply(Output_data,"[[",1)
是什么意思?特别是&#34; [[&#34;和&#39; 1&#39;在lapply。
答案 0 :(得分:1)
在list
中经常使用[
或[[
提取R
元素的语法。它不是特定于任何包。语法的含义
lapply(Output_data,"[[",1)
遍历对象'Output_data'并提取([[
)第一个元素。因此,如果'Output_data'是list
data.frame
,它将提取data.frame
的第一列,如果它是list
vector
} s,它提取vector
的第一个元素。它具有与匿名函数类似的功能i..e
lapply(Output_data, function(x) x[[1]])
后一种语法更清晰易懂,但前者更紧凑,更时尚......
有关[[
的更多信息,请参阅?Extract
答案 1 :(得分:1)
[[
,[
和->
等运营商实际上是功能。
list[[1]]
等于
`[[`(list,1)
在您的情况下,lapply(Output_data,"[[",1)
表示提取Output_data
的每个列(或子列表)的第一个值。 1
是传递给[[
函数的参数。