R 将行转换为列,然后拆分它们
我有一个数据集,其中包含按行排序的数据,如下所示:R 将行转换为列,然后拆分它们,r,transpose,R,Transpose,我有一个数据集,其中包含按行排序的数据,如下所示: *VarName1* - *VarValue1* *VarName2* - *VarValue2* *Etc.* 我希望VarNames成为单独的列。我通过使用以下代码实现了这一点: DFP1 <- as.data.frame(t(DFP)) #DFP contains the data 这就是你想要的吗 library(dplyr) library(tidyr) DFP %>% mutate(sample = cumsu
*VarName1* - *VarValue1*
*VarName2* - *VarValue2*
*Etc.*
我希望VarNames成为单独的列。我通过使用以下代码实现了这一点:
DFP1 <- as.data.frame(t(DFP)) #DFP contains the data
这就是你想要的吗
library(dplyr)
library(tidyr)
DFP %>%
mutate(sample = cumsum(nmlVar == 'Batch')) %>%
spread(nmlVar, noFloat)
给出:
请举例说明使用
dput
时实际的data.frameDFP
是什么样子的。(不是大小而是结构。)相关:(1)或(2)使用tidyr
和dplyr
。查看Rstudio数据导入和转换备忘表@Axeman由于项目的机密性,我无法做到这一点。是否有其他方法可以帮助您查看结构而不显示列名或数据?请参阅:
DFP <- data.frame(
nmlVar = c("Batch", "Mass", "Length", "Product","Batch", "Mass",
"Length", "Product", "Batch", "Mass", "Length", "Width", "Product"),
noFloat = c(254578, 20, 24, 24547, 254579, 23, 24, 24547, 254580, 20,
24, 19, 24547)
)
structure(list(nmlVar = structure(c(1L, 3L, 2L, 4L, 1L, 3L, 2L,
4L, 1L, 3L, 2L, 5L, 4L), .Label = c("Batch", "Length", "Mass",
"Product", "Width"), class = "factor"), noFloat = c(254578, 20,
24, 24547, 254579, 23, 24, 24547, 254580, 20, 24, 19, 24547)), .Names = c("nmlVar",
"noFloat"), row.names = c(NA, -13L), class = "data.frame")
library(dplyr)
library(tidyr)
DFP %>%
mutate(sample = cumsum(nmlVar == 'Batch')) %>%
spread(nmlVar, noFloat)
sample Batch Length Mass Product Width
1 1 254578 24 20 24547 NA
2 2 254579 24 23 24547 NA
3 3 254580 24 20 24547 19