楼主:
andrew43 (讨厌有好心推文后删文者)
2018-06-09 00:13:30大概写了一下。
最后 res 是 species by locations 的 binary matrix 为所求。
重点是在要把所有的地点集中起来再逐列与各spp出现的地点做比对。
library(magrittr)
## fatch data
con <-
url(
"http://archive.ics.uci.edu/ml/machine-learning-databases/plants/plants.data",
"r"
)
src <- readLines(con)
close(con)
## split string by comma
srcLine <- strsplit(src, ",")
## get sp name
sppName <-
lapply(srcLine, function(x) {
x[1]
}) %>%
unlist
## get location name per sp
locName <-
lapply(srcLine, function(x) {
x[-1]
})
## get all unique location name
locNameUni <- locName %>% unlist %>% unique
## binary matrix
res <-
lapply(locName, function(x) {
locNameUni %in% x
}) %>%
do.call("rbind", .) %>%
set_colnames(locNameUni) %>%
set_rownames(sppName)
※ 引述《genius888053 (少年YO)》之铭言:
: https://i.imgur.com/InHBPvq.jpg
: 我复制到记事本后用txt档案方式读取可是却发生以下问题
: https://i.imgur.com/A7iKdyy.jpg
: 上图我有试着将sep删除掉 可是一样发生上述情形
: https://i.imgur.com/dnBtUX7.jpg
: 尽管我读出来后却发生资料不整齐和变量只有一笔的情形
: 求板上大大提点
: 第一次发文,有误请见谅