保留与矩阵 R 具有相同列名的 Dataframe 行
Keep Rows of Dataframe that have same column name of matrix R
我想保留只有 13 列的矩阵数据帧(20 行)的行,这意味着要消除我的数据帧中与矩阵的列名称同名的行。因此最终得到 13 行的最终数据框,这是因为我想在将来绘制热图时将此数据框注释到我的矩阵中。
我不确定这是否真的可行:S
矩阵:
数据帧:
示例数据:
Mydataframe <- data.frame(casecontrol = c(rep("case",10),rep("Control",10)),
condition=c(rep("cond1",5),rep("cond2",5),rep("cond3",5),rep("cond4",5)))
row.names(Mydataframe) <- sapply(1:20, function(x) paste0("sample",x))
Mymatrix <- matrix(0,nrow=10,ncol=13)
colnames(Mymatrix) <- sapply(1:13, function(x) paste0("sample",x))
您可以按如下方式找到匹配项并将其删除:
RowsToRemove <- match(colnames(Mymatrix),row.names(Mydataframe))
MyNewdataframe <- Mydataframe[-RowsToRemove,]
输出
> MyNewdataframe
casecontrol condition
sample14 Control cond3
sample15 Control cond3
sample16 Control cond4
sample17 Control cond4
sample18 Control cond4
sample19 Control cond4
sample20 Control cond4
我想保留只有 13 列的矩阵数据帧(20 行)的行,这意味着要消除我的数据帧中与矩阵的列名称同名的行。因此最终得到 13 行的最终数据框,这是因为我想在将来绘制热图时将此数据框注释到我的矩阵中。
我不确定这是否真的可行:S
矩阵:
数据帧:
示例数据:
Mydataframe <- data.frame(casecontrol = c(rep("case",10),rep("Control",10)),
condition=c(rep("cond1",5),rep("cond2",5),rep("cond3",5),rep("cond4",5)))
row.names(Mydataframe) <- sapply(1:20, function(x) paste0("sample",x))
Mymatrix <- matrix(0,nrow=10,ncol=13)
colnames(Mymatrix) <- sapply(1:13, function(x) paste0("sample",x))
您可以按如下方式找到匹配项并将其删除:
RowsToRemove <- match(colnames(Mymatrix),row.names(Mydataframe))
MyNewdataframe <- Mydataframe[-RowsToRemove,]
输出
> MyNewdataframe
casecontrol condition
sample14 Control cond3
sample15 Control cond3
sample16 Control cond4
sample17 Control cond4
sample18 Control cond4
sample19 Control cond4
sample20 Control cond4