我有笨拙格式的CSV(国家气象服务“ DATACARD”格式-第3页,here的每月数据示例),我希望找到一种更好的方式来转置和过滤NA。我认为从gather()
到tidyverse
可能有些地方,但是我对所有方法持开放态度。
a <- c(10.5,14,16,20,23)
b <- c(11,15,17,21,24)
c <- c(12,NA,18,22,25.2)
d <- c(13,NA,19,NA,26)
rawcsv <- data.frame(a,b,c,d)
rawcsv_singlecolumn <- data.frame(singlecolumn=c(t(rawcsv)))
rawcsv_NAsremoved_thedesiredvector <- na.omit(rawcsv_singlecolumn)
desiredvector <- c(10.5,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25.2,26)
答案 0 :(得分:3)
我们可以从数据集中提取单列
rawcsv_NAsremoved_thedesiredvector[[1]]
如果我们需要使用tidyverse
library(tidyverse)
rownames_to_column(rawcsv, 'rn') %>%
gather(key, value, -rn, na.rm = TRUE) %>%
arrange(as.integer(rn)) %>%
pull(value)