[英]Transform elements of list in elements of a data frame
我有這些數據:
a <- data.frame(element1 = c("JB", "AC", "DO", "MR"),
element2 = c(1, 3, 4, 2))
b <- list(JB = c("a", "b", "s"), DO = c("ER", "TR", "OP"))
我想創建一個新的數據幀ab
類似於數據幀a
,而使得第一列的元素列表B的元素。 即,在新的ab
數據幀中,具有的標題列表B的元件相同的第一列中的元素采取在列表中的元素的值b
。
編輯:輸出應該與 a 相同,但 element1 元素是列表:
> ab
element1 element2
1 JB 1
2 AC 3
3 DO 4
4 MR 2
a <- data.frame(element1 = c("JB", "AC", "DO", "MR"),
element2 = c(1, 3, 4, 2))
b <- data.frame(JB = c("a", "b", "s"), DO = c("ER", "TR", "OP"))
merge(b,a)
這應該可以完成工作。 輸出將是:
JB DO element1 element2
1 a ER JB 1
2 b TR JB 1
3 s OP JB 1
4 a ER AC 3
5 b TR AC 3
6 s OP AC 3
7 a ER DO 4
8 b TR DO 4
9 s OP DO 4
10 a ER MR 2
11 b TR MR 2
12 s OP MR 2
那不只是
ab <- within(a, element1 <- b[element1])
輸出
> str(ab)
'data.frame': 4 obs. of 2 variables:
$ element1:List of 4
..$ JB: chr "a" "b" "s"
..$ NA: NULL
..$ DO: chr "ER" "TR" "OP"
..$ NA: NULL
$ element2: num 1 3 4 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.