Установите текущую ячейку следующим образом:
DataGridView1.CurrentCell = DataGridView1.Rows[rowindex].Cells[columnindex]
или
DataGridView1.CurrentCell = DataGridView1.Item("ColumnName", 5)
, и вы можете напрямую сфокусироваться с помощью Редактирования:
dataGridView1.BeginEdit(true)
Руководство по стилю R от Google упрощает проблему, запрещающий "=" для присвоения. Неплохой выбор.
https://google.github.io/styleguide/Rguide.xml
Руководство по R подробно описывает все 5 операторов присваивания.
http: //stat.ethz. ch / R-manual / R-patched / library / base / html / assignOps.html
Операторы <-
и =
присваиваются среде, в которой они оцениваются. Оператор <-
может использоваться где угодно, тогда как оператор =
разрешен только на верхнем уровне (например, в полном выражении, вводимом в командной строке ) или как одно из подвыражений в списке выражений в фигурных скобках.
Разница в операторах присваивания становится более очевидной, когда вы используете их для установки значения аргумента при вызове функции. Например:
median(x = 1:10)
x
## Error: object 'x' not found
В этом случае x
объявлен в области действия функции, поэтому он не существует в рабочей области пользователя.
median(x <- 1:10)
x
## [1] 1 2 3 4 5 6 7 8 9 10
В этом случае x
объявлен в рабочей области пользователя, поэтому вы можете использовать его после завершения вызова функции.
В сообществе R обычно предпочитают использовать <-
для назначения (кроме сигнатур функций ) для совместимости с (очень) старыми версиями S-Plus. Обратите внимание, что пробелы помогают прояснить ситуации, подобные
x<-3
# Does this mean assignment?
x <- 3
# Or less than?
x < -3
. В большинстве R IDE есть сочетания клавиш, которые упрощают ввод <-
. Ctrl + = в Architect, Alt + - в RStudio ( Option + - в macOS), Shift + - (подчеркивание) в emacs + ESS.
Если вы предпочитаете писать от =
до <-
, но хотите использовать более общий символ назначения для публично выпущенного кода (в CRAN, например), то вы можете использовать одну из функций tidy _ *
в пакете formatR
, чтобы автоматически заменить =
на <-
.
library(formatR)
tidy_source(text = "x=1:5", arrow = TRUE)
## x <- 1:5
Ответ на вопрос «Почему x <- y = 5
выдает ошибку, но не x <- y <- 5
?» это «Все дело в магии, содержащейся в парсере». Синтаксис R содержит множество неоднозначных случаев , которые необходимо разрешить тем или иным способом. Синтаксический анализатор выбирает разрешение битов выражения в разном порядке в зависимости от того, использовалось ли =
или <-
.
Чтобы понять, что происходит, вам необходимо знать это присвоение молча возвращает присвоенное значение. Вы можете увидеть это более четко, если явно напечатаете, например print (x <- 2 + 3)
.
Во-вторых, это станет более ясным, если мы будем использовать префиксную нотацию для присваивания. Итак,
x <- 5
`<-`(x, 5) #same thing
y = 5
`=`(y, 5) #also the same thing
Парсер интерпретирует x <- y <- 5
как
`<-`(x, `<-`(y, 5))
. Мы могли бы ожидать, что x <- y = 5
тогда будет
`<-`(x, `=`(y, 5))
, но на самом деле он получает интерпретируется как
`=`(`<-`(x, y), 5)
Это потому, что =
имеет более низкий приоритет, чем <-
, как показано на странице справки ? Syntax
.
print (x <- 2 + 3)
.
Во-вторых, это станет более ясным, если мы будем использовать префиксную нотацию для присваивания. Итак,
x <- 5
`<-`(x, 5) #same thing
y = 5
`=`(y, 5) #also the same thing
Парсер интерпретирует x <- y <- 5
как
`<-`(x, `<-`(y, 5))
. Мы могли бы ожидать, что x <- y = 5
тогда будет
`<-`(x, `=`(y, 5))
, но на самом деле он получает интерпретируется как
`=`(`<-`(x, y), 5)
Это потому, что =
имеет более низкий приоритет, чем <-
, как показано на странице справки ? Syntax
.
print (x <- 2 + 3)
.
Во-вторых, это станет более ясным, если мы будем использовать префиксную нотацию для присваивания. Итак,
x <- 5
`<-`(x, 5) #same thing
y = 5
`=`(y, 5) #also the same thing
Анализатор интерпретирует x <- y <- 5
как
`<-`(x, `<-`(y, 5))
. Мы могли бы ожидать, что x <- y = 5
тогда будет
`<-`(x, `=`(y, 5))
, но на самом деле он получает интерпретируется как
`=`(`<-`(x, y), 5)
Это потому, что =
имеет более низкий приоритет, чем <-
, как показано на странице справки ? Syntax
.