根据另一个数据集中的值更改一个数据集中的值
Change the values in one data set based on the values in another
我遇到以下问题:
names <- c("Peter", "Gabriel", "James", "Philip")
city <- c("LA", "NY","Chicago","Chicago")
number <- seq(1, length(names))
from <- c("Peter", "Peter", "Gabriel", "James", "James")
to <- c("James","Gabriel", "Philip", "Gabriel", "Philip")
nodes <- data.frame(names, city, number)
edges <- data.frame(from, to)
如何更改 edges$from
的值以匹配 nodes$number
中的值?
您可以使用以下内容,
edges$from <- sapply(edges$from, function(i)nodes$number[match(i, nodes$names)])
edges
# from to
#1 1 James
#2 1 Gabriel
#3 2 Philip
#4 3 Gabriel
#5 3 Philip
我遇到以下问题:
names <- c("Peter", "Gabriel", "James", "Philip")
city <- c("LA", "NY","Chicago","Chicago")
number <- seq(1, length(names))
from <- c("Peter", "Peter", "Gabriel", "James", "James")
to <- c("James","Gabriel", "Philip", "Gabriel", "Philip")
nodes <- data.frame(names, city, number)
edges <- data.frame(from, to)
如何更改 edges$from
的值以匹配 nodes$number
中的值?
您可以使用以下内容,
edges$from <- sapply(edges$from, function(i)nodes$number[match(i, nodes$names)])
edges
# from to
#1 1 James
#2 1 Gabriel
#3 2 Philip
#4 3 Gabriel
#5 3 Philip