【发布时间】:2020-04-26 22:37:54
【问题描述】:
我想创建一个新列,从type 中提取“b”和“c”并将value 放入该列。中间还有其他随机列应该保留,我刚刚命名为random。
id <- c("1", "1", "1", "1","2", "2", "2", "2", "3", "3", "3", "3")
type <- c("a", "a", "b", "c", "a", "a", "b", "c", "a", "a", "b", "c")
random <- c("random")
value <- c("1", "2", "50", "100", "4", "5", "55", "110", "2.5", "3", "53", "105")
df <- data.frame(id, type, random, value)
id type random value
1 1 a random 1
2 1 a random 2
3 1 b random 50
4 1 c random 100
5 2 a random 4
6 2 a random 5
7 2 b random 55
8 2 c random 110
9 3 a random 2.5
10 3 a random 3
11 3 b random 53
12 3 c random 105
我想要的是:
id2 type2 random value2 b c
1 1 a random 1 50 100
2 1 a random 2 50 100
3 2 a random 4 55 110
4 2 a random 5 55 110
5 3 a random 2.5 53 105
6 3 a random 3 53 105
非常感谢一些想法!最好的,
【问题讨论】:
-
你能用更多的'id展示一个更一般的例子
-
嗨@akrun,谢谢你的帮助,你是最棒的!!!我已经编辑了帖子,我认为现在更清楚了。你能确认一下吗?
-
@Mark-Marijn 假设 'id' 的第二个值是 type' 'b',它的值是 85。那么预期的输出是什么,即不是 value = 5,而是值 = 85
-
@Mark-Marjin 你能检查我更新的解决方案吗
标签: r dataframe data-manipulation