Как я могу разрезать столбец на две части, как ключ? - PullRequest
0 голосов
/ 10 марта 2020

Мой вопрос такой базовый c, но я ничего не мог поделать, я новичок ie в R. У меня есть такая колонка

column
val1
val2
ppp
val3
val4

Как мне это перевернуть? как это?

column ppp
val1   val3
val2   val4

1 Ответ

0 голосов
/ 10 марта 2020

Ваши данные, вероятно, являются вектором, а не столбцом, потому что если бы это был столбец, он был бы частью информационного кадра, и вы не могли бы разделить его таким образом, не переставив все остальные строки, которые у вас есть. не показано. Или, может быть, это фрейм данных с одним столбцом. В этом случае изменение кода является тривиальным.

your_vector <- c("column", "val1", "val2", "ppp", "val3", "val4")
key <- "ppp"
i <- which(your_vector == key)
new_df <- data.frame(
  your_vector[2:(i-1)],
  your_vector[(i+1):length(your_vector)],
  stringsAsFactors = F
)
colnames(new_df) <- c(your_vector[1], your_vector[i])

В этом коде предполагается, что в векторе есть одно значение, содержащее данный ключ, и оно должно быть в середине, в противном случае Вы не сможете разделить его и соединить два столбца одинаковой длины. Все остальное вызовет ошибку. Но если он находится посередине, вам не нужно его находить, вы можете просто рассчитать среднюю позицию в векторе и разделить ее. Поэтому я думаю, что вам нужно подумать немного больше об этой проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...