【发布时间】:2022-08-21 12:36:11
【问题描述】:
我有两个data frames。其中一个包含许多问题作为文本我使用grep() 函数将这些数字与我的其他dataframe 列的名称相匹配。
问题是我的code 的一部分不起作用,因为我的function grep() 没有做到这一点。
基本上我的两个dataframes如下
DF1:
| Question | Group |
|---|---|
| 11 | Redmeat |
| 100 | Chicken |
| 56 | Vegetables |
| 210 | Dairy |
DF 2(值无关紧要,只有列名):
| 1.Question | 2.Question | ... | 101.Question | ... | 250.Question |
|---|---|---|---|---|---|
| Yes | No | ... | ... | ... | ... |
| Yes | Yes | ... | ... | ... | ... |
| No | Yes | ... | ... | ... | ... |
| No | Yes | ... | ... | ... | ... |
我使用以下代码:
i <- n ## I change n according to the row of DF1 that I want
grep(DF1$Question[i], colnames(DF2), fixed = T)
如果我做:
i <- 2 ## (Question number 100)
grep(DF1$Question[i], colnames(DF2), fixed = T)
我的代码返回 100,这是正确的,因为它是对应于 \"100.Question\" 的列
但如果我这样做:
i <- 1 ## (Question number 1)
grep(DF1$Question[i], colnames(DF2), fixed = T)
我的代码返回 1, 11, 21 ... 101 ... 201
如果我这样做也一样:
i <- 3 ## (Question number 56)
grep(DF1$Question[i], colnames(DF2), fixed = T)
它返回 56, 156
我只想要完全相同的数字。即使我使用参数fixed = TRUE 它也不起作用。
有解决方案或替代方案吗?