R 我不能 select 来自包含“01 1 5”等数据的变量的特定值
R I cannot select specific values from a Variable that contains data like "01 1 5"
我有一个像这样的数据框:
Tabla
IDrel ID_Sector
1 01 1 02
2 01 1 06
3 01SC
ID_Sector
是一个因素,但我可以将它转化为字符和
我想过滤数据,只 selecting 一些 ID_Sector
s.
我证明了
Tabla_1 <- sqldf("SELECT *
FROM Tabla
WHERE ID_Sector = '01SC'")
并给我一个包含 0 个观察值的数据框
我也证明了:
Tabla_1 <- subset(Tabla, ID_Sector == "01 1")
并且还给我 0 个观察结果。
我可以使用 SQLDF select 进行类似 "obs one" 的观察,但我不能使用类似“1 0 1”的观察。
也许我误解了你的问题,但这对你有用吗?
library(dplyr)
Tabla <- data.frame(IDrel = 1:3, ID_Sector = as.factor(c("01 01 02", "01 01 06","01SC")))
这给出了:
Tabla
IDrel ID_Sector
1 1 01 01 02
2 2 01 01 06
3 3 01SC
然后您可以将其更改为字符串,然后再获取相关项目:
Tabla$ID_Sector <- as.character(Tabla$ID_Sector)
Example <- Tabla %>%
filter(ID_Sector == "01SC")
这给出:
Example
IDrel ID_Sector
1 3 01SC
希望本文对您有所帮助。
如果不是,那么听起来您需要对相关字符串进行一些 RegEx 处理。为此,假设你在这个字符串的最后一个单词之后,我会使用来自 dplyr 的 mutate
和来自 stringr 的 word
:
Tabla1 <- Tabla %>%
mutate(ID_Sector_LastWord = word(ID_Sector,start = -1))
Tabla
IDrel ID_Sector ID_Sector_LastWord
1 1 01 01 02 02
2 2 01 01 06 06
3 3 01SC 01SC
然后您可以过滤 ID_Sector_LastWord
。
我有一个像这样的数据框:
Tabla
IDrel ID_Sector
1 01 1 02
2 01 1 06
3 01SC
ID_Sector
是一个因素,但我可以将它转化为字符和
我想过滤数据,只 selecting 一些 ID_Sector
s.
我证明了
Tabla_1 <- sqldf("SELECT *
FROM Tabla
WHERE ID_Sector = '01SC'")
并给我一个包含 0 个观察值的数据框
我也证明了:
Tabla_1 <- subset(Tabla, ID_Sector == "01 1")
并且还给我 0 个观察结果。
我可以使用 SQLDF select 进行类似 "obs one" 的观察,但我不能使用类似“1 0 1”的观察。
也许我误解了你的问题,但这对你有用吗?
library(dplyr)
Tabla <- data.frame(IDrel = 1:3, ID_Sector = as.factor(c("01 01 02", "01 01 06","01SC")))
这给出了:
Tabla
IDrel ID_Sector
1 1 01 01 02
2 2 01 01 06
3 3 01SC
然后您可以将其更改为字符串,然后再获取相关项目:
Tabla$ID_Sector <- as.character(Tabla$ID_Sector)
Example <- Tabla %>%
filter(ID_Sector == "01SC")
这给出:
Example
IDrel ID_Sector
1 3 01SC
希望本文对您有所帮助。
如果不是,那么听起来您需要对相关字符串进行一些 RegEx 处理。为此,假设你在这个字符串的最后一个单词之后,我会使用来自 dplyr 的 mutate
和来自 stringr 的 word
:
Tabla1 <- Tabla %>%
mutate(ID_Sector_LastWord = word(ID_Sector,start = -1))
Tabla
IDrel ID_Sector ID_Sector_LastWord
1 1 01 01 02 02
2 2 01 01 06 06
3 3 01SC 01SC
然后您可以过滤 ID_Sector_LastWord
。