【发布时间】:2011-04-07 17:10:17
【问题描述】:
我需要从 dataframe1 中的行创建一个新的 dataframe,这样 dataframe1$column 的值就是在 dataframe2$colum 中找到的值
数据框是:
y <- "name,number,lunch
joe,2,peaches
steve,5,hotdog
jon,7,clamroll
nick,11,sloppyJoe"
x <- "number,office
1,1b
2,1a
3,2s
4,4d
5,f4
6,f4
7,h3
8,g3
9,j7
10,d3
11,jk"
df1 <- read.csv(textConnection(df1), header=TRUE, sep=",", stringsAsFactors=FALSE)
df2 <- read.csv(textConnection(df2), header=TRUE, sep=",", stringsAsFactors=FALSE)
我试过了:
df3 <- df1[which(df1$number == df2$number), ]
无济于事。 我如何在 R 中正确执行此操作?我可以编写一个 perl 脚本,但我有大约 100 个这样的集合,并且不想创建更多的临时文件。
【问题讨论】:
-
这个问题的答案正是你所需要的:Match dataframe rows according to two variables (Indexing)
-
@Joshua:我怎么会错过那个...
标签: r