我遇到这种情况: 我有一个具有这种结构的文件:
df Myfile_R1 Myfile_RN Myfile_R2 Myfile_R3
然后我有另一个包含3列的文件:Myfile_R1 Myfile_R2 Myfile_R3。我想如果在df中,Myfile_RN位于第一个位置,那么在另一个文件中,将删除Myfile_R1列。如果它在第二个位置,那么Myfile_R2将被删除,所以儿子。我有成千上万的文件要测试。
示例:
df Myfile_R1 Myfile_RN Myfile_R2 Myfile_R3 df2 Myfile_R1 Myfile_R2 Myfile_R3 ......... ......... ......... ......... ......... ......... ......... ......... .........
第一个所需的输出(Myfile_R1消失,因为df中的Myfile_RN位于第一行并被Myfile_RN替换):
df2 Myfile_RN Myfile_R2 Myfile_R3 ......... ......... ......... ......... ......... ......... ......... ......... .........
如果Myfile_RN位于df的第二行,则df2中的Myfile_R2将被Myfile_RN替换,最后如果Myfile_RN位于df的第三行,则df2中的Myfile_R3将被Myfile_RN替换。
有人能帮帮我吗?
提前谢谢
答案 0 :(得分:1)
这是代码:
让df
和dataframe
新df1
dataframe
创建一个列名称向量,如下所示:
col_names <- colnames(df)
现在,要检查列名的索引,请使用:
index <- which(col_names=='Myfile_RN')
现在你得到了索引。要从新dataframe
中删除该列,请尝试以下操作:
df1[,index] <- df[,index]
对于行式操作,使用rownames()
如果dataframe
的单元格内有'Myfile_RN',请尝试:
row_index <- which(df=='Myfile_RN',arr.ind=TRUE)[,1] #for accessing row index
df1[row_index,] <- df[row_index,]
如果这符合您的目的,请告诉我。