R语言list()应用

## list()列表
```{r}
findwords <- function(tf){     #tf short for:text file
  txt <- scan(tf,"")           #读取文本文件,空格间隔的英文内容,汉字不适用
  print(txt)                   #输出文本列表
  wl <- list()                 #创建word(单词)列表list --wl
  for (i in 1:length(txt)){    # 循环读取txt内单词
    wrd <- txt[i]
    wl[[wrd]] <- c(wl[[wrd]],i)  # wl[[wrd]是个单词位置,把位置向量存起来
  }
  return(wl)
}
#orders the output of findwords() by word frequwncy
freqwl <- function(wordlist){
  freqs <- sapply(wordlist,length)
  return(wordlist[order(freqs)])   #order()按位次排序,sort() 按值排序
}

x <- findwords("tf.txt") 
# names(x)     #显示列表标签名,提取x中的单词
# unlisted(x)  #获取列表的值
# unname(x)    #去掉列表元素名
#sort(names(x)) #列表标签名(单词)排序
#提取词频较高的10%单词作图
#----------------------------
snyt <- freqwl(x)
nword <- length(snyt)
freqs <- sapply(snyt[round(0.9*nword):nword],length)
barplot(freqs)

```

## 列表应用lapply() & sapply()
```{r}
lapply(list(1:6,20:36),median) #输出中位数1:6,20:36列表
sapply(list(1:6,20:36),median) #输出中位数1:6,20:36矩阵