R 转换数据帧元素中的列表元素
我有这些数据:R 转换数据帧元素中的列表元素,r,R,我有这些数据: a <- data.frame(element1 = c("JB", "AC", "DO", "MR"), element2 = c(1, 3, 4, 2)) 这不是很公平吗 ab <- within(a, element1 <- b[element1]) 我写了一篇关于期望输出的评论。你认为这是可行的吗?你想让b的第1列在ab的第1列吗?我有点困
a <- data.frame(element1 = c("JB", "AC", "DO", "MR"),
element2 = c(1, 3, 4, 2))
这不是很公平吗
ab <- within(a, element1 <- b[element1])
我写了一篇关于期望输出的评论。你认为这是可行的吗?你想让b的第1列在ab的第1列吗?我有点困惑,因为在您的编辑中,输出与输入是相同的,输出应该是相同的,只是元素应该不同:不是字符串,而是列表中的元素。我不确定这是否可行,因为我是R新手。有点像,当我单击ab[1,1]时,我得到的是一个列表,而不是a中的字符串。我不确定你的意思,但你可以尝试
合并(b[,1],a[,1])
。这里a[,1]表示所有行,a的第1列和b[,1]表示b的第1列的所有行。如果需要其他输出,则可以更改行号或列号。所需的输出与a
相同。你能解释一下吗?@inter欢迎来到Stack Overflow!您可以查看本教程:它显示了如何在R中将列表转换为数据帧的两个示例。
> 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