リストl
には、それぞれ1つ、2つ、3つの名前の3つの文字列があります。 l
をデータフレームに変換したいのですが、名前がn
である追加の列が必要です。リストをRのデータフレームに変換し、サブリストの名前を持つ列を追加します。
l <- list(c("a", "b"), c("c", "d", "e"), c("e"))
n <- c("one", "two", "three")
これはループを使用して行うことができますが、これを行うにはより効率的な方法があると確信しています。
out <- NULL
for (i in 1:length(n)){
step <- rep(n[i], length(l[[i]]))
out <- c(out, step)}
df <- as.data.frame(unlist(l))
df$n <- out
df
# unlist(l) n
#1 a one
#2 b one
#3 c two
#4 d two
#5 e two
#6 e three