Если dat
- это то, что воспроизводимо показано в примечании в конце, тогда as.data.frame(dat)
создает фрейм данных с одним столбцом с именем dat
, а затем, когда есть попытка взять 3-й столбец, возникает ошибка, посколькутолько один столбец.
Вместо этого используйте read.table
и получите третий столбец, подобный этому.Опустите запятую, если хотите получить результат для фрейма данных.
read.table(text = dat)[, 3]
## [1] 5.0 6.7 10.4 13.2 15.4 17.3
Примечание
dat <- c(" 1931 1 5.0 0.6 11 78.4 43.4",
" 1931 2 6.7 0.7 7 48.9 63.6",
" 1931 4 10.4 3.1 3 44.6 110.1",
" 1931 5 13.2 6.1 1 63.7 167.4",
" 1931 6 15.4 8.0 0 87.8 150.3",
" 1931 7 17.3 10.6 0 121.4 111.2")