-1
我有一個數據列的因子變量。它包含33個級別,據我所知每個級別都有一個1-33的整數值。我想知道如何在子集化行時引用該值而不是級別標籤?如何使用r中因子水平的索引數值?
繼承人我學嘗試在寫它的代碼:
貝克斯利< -
我想創建一個新的對象「貝克斯利」只包含一級子集([3] LE2016,區),其中從數據框'LE2016'分配了3的整數值。
感謝
我有一個數據列的因子變量。它包含33個級別,據我所知每個級別都有一個1-33的整數值。我想知道如何在子集化行時引用該值而不是級別標籤?如何使用r中因子水平的索引數值?
繼承人我學嘗試在寫它的代碼:
貝克斯利< -
我想創建一個新的對象「貝克斯利」只包含一級子集([3] LE2016,區),其中從數據框'LE2016'分配了3的整數值。
感謝
您可以使用c
或as.numeric
強迫整數的因素,然後做子集。這裏有一個簡單的例子:
library(dplyr)
DF <- data.frame(f=factor(c("a", "b", "c", "a", "b", "c"), levels=c("a", "b", "c")))
DF
f
1 a
2 b
3 c
4 a
5 b
6 c
# filter out the 3th level
DF %>% filter(c(f) == 3)
f
1 c
2 c
# c will coerce factor to integer
c(DF$f)
[1] 1 2 3 1 2 3
你能舉一個可重複的例子嗎? http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
我不知道你在問什麼。像這樣? LE2016 < - data.frame(borough = factor(1:30));庫(dplyr); Bexley < - filter(LE2016,borough == 3) –
提取變量中因子的級別: lev <-levels(factor_Variable) 然後,您可以使用此「lev」變量包含子因子級別的因子。 – TUSHAr