如何将基于相等长度的数据框列拆分为 R 中的单独行
How to split a data frame column based on equal length into separate rows in R
任何帮助将不胜感激,谢谢。
这是一个基本的 R 选项
f <- function(v) Map(intToUtf8,split(utf8ToInt(v),ceiling(seq(nchar(v))/2)))
q <- Vectorize(f)(mydf$V2)
p <- rep(mydf$V1,lengths(q))
mydfout <- data.frame(V1 = p,V2 = unlist(q),row.names = NULL)
这给出了
> mydfout
V1 V2
1 1 ab
2 1 cd
3 1 ef
4 2 ab
5 2 cd
6 3 bg
7 3 hj
8 4 kl
9 5 ui
10 5 lm
数据
mydf <- structure(list(V1 = 1:5, V2 = c("abcdef", "abcd", "bghj", "kl",
"uilm")), class = "data.frame", row.names = c(NA, -5L))
任何帮助将不胜感激,谢谢。
这是一个基本的 R 选项
f <- function(v) Map(intToUtf8,split(utf8ToInt(v),ceiling(seq(nchar(v))/2)))
q <- Vectorize(f)(mydf$V2)
p <- rep(mydf$V1,lengths(q))
mydfout <- data.frame(V1 = p,V2 = unlist(q),row.names = NULL)
这给出了
> mydfout
V1 V2
1 1 ab
2 1 cd
3 1 ef
4 2 ab
5 2 cd
6 3 bg
7 3 hj
8 4 kl
9 5 ui
10 5 lm
数据
mydf <- structure(list(V1 = 1:5, V2 = c("abcdef", "abcd", "bghj", "kl",
"uilm")), class = "data.frame", row.names = c(NA, -5L))