這裏是另一個可能的方式:
示例 - >
# Load sqldf library
library(sqldf)
# Create an example Data Frame
A <- data.frame(x=c("LA","NY","DC","SA"),
y=c('a','b','c','d'),
z = c(10,20,30,40),
m = c('A','B','C','D'))
# Here is how Data Frame A looks like
A
x y z m
1 LA a 10 A
2 NY b 20 B
3 DC c 30 C
4 SA d 40 D
# Rows to subtract
rowsToSubset <- c("1","2")
# Just converting rows to subtract as a data frame
rowsToSubsetDF <- data.frame(rowsToSubset)
# Use sqldf to subtract
B <- sqldf("SELECT t.* FROM A t WHERE t.row_names IN (SELECT
rowsToSubset FROM rowsToSubsetDF)",row.names = TRUE)
# Here is how B looks like
B
x y z m
1 LA a 10 A
2 NY b 20 B
# Now perform the second subtraction using sqldf
sqldf("select * from A except select * from B")
x y z m
1 DC c 30 C
2 SA d 40 D
'分裂(數據框,C(1,1, 2,2)' – rawr
您是否試圖過濾數據幀爲僅Row1和Row2,並創建一個單獨的Row3的數據框和Row4?使用減法這個詞讓你的問題不清楚。 –
有很多方法可以做到這一點。您可以使用硬索引引用來分配2個子集的數據框和'rm'原始。 –