我製成名爲x數據幀:R:子集用方括號不工作
a b
1 2
3 NA
3 32
21 7
12 8
當運行
y <- x["a">2,]
目的ý返回是相同於x。如果我跑
y <- x["a" == 1,]
y是一個空的框架。
我確信x數據框的名稱沒有空格(我用names()命名它們),還有a和數字。
PS:如果我嘗試
y <- x["a">2]
Y也返回相同的X。
我製成名爲x數據幀:R:子集用方括號不工作
a b
1 2
3 NA
3 32
21 7
12 8
當運行
y <- x["a">2,]
目的ý返回是相同於x。如果我跑
y <- x["a" == 1,]
y是一個空的框架。
我確信x數據框的名稱沒有空格(我用names()命名它們),還有a和數字。
PS:如果我嘗試
y <- x["a">2]
Y也返回相同的X。
您在引用data.frame
x
的列時發生錯誤。
"a">2
表示字符a
大於2,不可變a
的data.frame
x
。您需要添加x$a
或x["a"]
以引用您的data.frame
列。
嘗試
y <- x[x$a >2 ,]
或
y <- x[x["a"] >2 ,]
甚至更加清晰
ix <- x["a"] > 2
y <- x[ix,]
一個簡單的替代將使用data.table
librarry(data.table)
setDT(x)
y <- x[ a > 2, ]
y <- x[ a == 1, ]
非常感謝你 –