Это решение также решает как сетевую ошибку, так и службу за сервером sql
. Я ответил на аналогичный вопрос здесь, вам нужно указать другой open Run type-> services.msc
- под услугами -> sort by stopped
, который вы увидите куча остановленных служб SQL Right click and start
Чтобы начать - есть 4 проблемы, которые могут вызвать ошибки common LocalDb SqlExpress Sql Server [41], прежде чем вы начнете необходимо переименовать v11 или v12 в (localdb) \ mssqllocaldb
Я обнаружил, что самый простой должен сделать следующее: я приложил pics и шаги для помощи.
Сначала проверьте, какой экземпляр вы установили, вы можете сделать это, проверив реестр и , выполнив команду cmd
cmd> Sqllocaldb.exe i
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
, если этот шаг завершился неудачно, вы можете удалить с помощью опции d
cmd> Sqllocaldb .exe d "someDb" cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
Вы можете легко определить точки разреза:
which(diff(v) != 1)
Исходя из этой попытки:
v <- c(1,3,4,5,9,10,17,29,30)
cutpoints <- c(0, which(diff(v) != 1), length(v))
ragged.vector <- vector("list", length(cutpoints)-1)
for (i in 2:length(cutpoints)) ragged.vector[[i-1]] <- v[(cutpoints[i-1]+1):cutpoints[i]]
В результате:
> ragged.vector
[[1]]
[1] 1
[[2]]
[1] 3 4 5
[[3]]
[1] 9 10
[[4]]
[1] 17
[[5]]
[1] 29 30
Этот алгоритм не очень приятный, но вы можете написать много более аккуратного кода на основе diff
:) Удачи!
Вы можете создать data.frame
и назначить элементы для групп с помощью diff
, ifelse
и cumsum
, затем сгенерировать с помощью tapply
:
v.df <- data.frame(v = v)
v.df$group <- cumsum(ifelse(c(1, diff(v) - 1), 1, 0))
tapply(v.df$v, v.df$group, function(x) x)
$`1`
[1] 1
$`2`
[1] 3 4 5
$`3`
[1] 9 10
$`4`
[1] 17
$`5`
[1] 29 30
split
, спасибо, что обратил мое внимание на эту полезную функцию.
– daroczig
7 March 2011 в 17:46
as.integer
следует соблюдать осторожность при возврате усеченного значения, которое может не быть тем, что вы хотите, когда числовое число было создано с арифметикой с плавающей запятой, например as.integer(0.3*3+0.1)
возвращает 0
.
– Aaron
13 May 2011 в 17:28