Я уверен, что есть элегантный и быстрый способ для заполнения столбца кадра данных, кроме использования которых() заявление в течение петли ...быстрый способ реализации, который
colors = (
"#D53E4F" "#FC8D59" "#FEE08B"
"#FFFFBF" "#E6F598" "#99D594" "#3288BD"
)
n = 6277
wxData = data.frame(
x = numeric(n - 1),
y = numeric(n - 1),
z = numeric(n - 1),
c = character(n - 1),
stringsAsFactors = FALSE
)
for (j in 1 : n-1) {
wxData$x[j] = xCoord[[1]][j] #"data.frame"
wxData$y[j] = yCoord[[1]][j] #"data.frame"
wxData$z[j] = dbz[[1]][j] #"data.frame"
colorIndx = which(wxData$z[j] == colorRanges)
wxData$c[j] = colors[colorIndx]
}
Извинения, если это Раньше меня спрашивали, но я посмотрел.
Может вам описать словами, что делает ваш код? Это гораздо более элегантный и быстрый способ общения, чем без комментируемого кода ... И, может быть, дать определения для объектов, которые вы не определяете, 'xCoord',' yCoord', 'dbz',' colorRanges'? – Gregor
Я также смущен тем, почему вы устанавливаете 'n = 6277', но тогда только когда-либо кажется, что используется' n - 1' ... почему бы не 'n = 6276'? Я думаю, что ответ на ваш вопрос - «матч». – Gregor
'for (j in 1: n-1)' делает 'for (j in (1: n) - 1)', а не 'for (j in 1: (n-1))'. Это ваше намерение? – nrussell