[英]error in x[[jj]][iseq] <- vjj : replacement has length zero (library modEvA)
[英]Error in x[[jj]][iseq] <- vjj : replacement has length zero in R (KlaR package)
我有一個包含 188 列和 100 行(加上標題行)的數據集。 我正在嘗試將 R 中的kmodes
聚類方法(來自klaR
包)應用於該矩陣。
數組數據結構中有兩種類型的數據:字符串和二進制。 兩者都有空值。
例如:
Q27_history Q28
1 <NA>
<NA> yes, sometimes
計算總的簇內平方和的函數:
set.seed (96743)
# function to compute total within-cluster sum of square
wss <- function(k) {
sum((kmodes( whois_data, k)$withindiff))
}
# Compute and plot wss for k = 1 to k = 15
k.values <- 2:15
# extract wss for 2-15 clusters
wss_values <- map_dbl(k.values, wss)
print(wss_values)
錯誤文本:
Error in x[[jj]][iseq] <- vjj : replacement has length zero
擔心的是:
Error in print(wss_values) :object 'wss_values' is not found
我試圖將kmodes(na.fill(data, fill=""), k)
放入:
wss <- function(k) {
sum((kmodes( whois_data, k)$withindiff))
kmodes(na.fill(data, fill=""), k)
}
但是在那之后library(purrr)
停止工作並且找不到變量map_dbl
我應該如何用空數據內聯行?
我認為在使用 kmode 時不能有 NA,它應該拋出一個錯誤:
set.seed(111)
whois_data = data.frame(Q1 = rbinom(100,1,0.5),
Q2 = sample(c("Y","N"),100,replace=TRUE),
Q3 = sample(c(NA,1:3),100,replace=TRUE))
kmodes(whois_data,3)
Error in old.cluster != cluster :
comparison of these types is not implemented
在沒有 NA 的情況下進行 kmodes 更有意義:
wss <- function(k,df) {
sum((kmodes(df, k)$withindiff))
}
library(purrr)
map_dbl(2:5, wss,df = whois_data[complete.cases(whois_data),])
[1] 91 58 70 42
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.