我道歉,如果我重複一個問題,但我是一個新手,我無法找到答案(可能是因爲我缺乏專業術語)。不同的結果子集列名
我產生像這樣的數據幀:
x1 <- c(1,2,3,4,5)
x2 <- c("a", "b", "c", "d", "e")
df <- data.frame(x1,x2)
x1 x2
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
然後我試圖子集調節在第一列上這樣
df[df$x1>3, "x2"]
結果如預期
[1] d e
但是,當我嘗試
df["x1" >3, "x2"]
[1] a b c d e
[R似乎忽視了條件語句,並返回整列X2。有沒有使用列名來評估條件語句(<,>,==)的方法?
編輯:我想我找到了答案部分,R評估
"some text" > 1000
[1] TRUE
,並且解釋了爲什麼我得到的所有行。
的問題是:什麼是評價使用列名的條件語句的好方法?
是的,用'df [df [[「x1」]]> 3,「x2」]'。表達式「x1」> 3「的計算結果爲」TRUE「,因此在第二次嘗試中,您正在執行解釋結果的df [TRUE,」x2「]' –
非常感謝。那樣做了。 – Zentaur