【发布时间】:2022-01-26 19:09:45
【问题描述】:
我正在尝试通过从多个数据帧中选择数据来创建数据帧...基本上是一个简单的 SQL 类型练习,但使用 R。示例数据在下面创建。数据帧 A 和 B。从两个数据帧中进行选择并创建一个新数据帧很简单,例如:
AB<-data.frame(COLUMN1=A$ID, COLUMN2=B$ONE, COLUMNS3=B$TWO, COLUMN4=A$JOB, COLUMN5=B$THREE)
或通过索引而不是列名来选择数据:
AB<-data.frame(COLUMN1=A[,1], COLUMN2=B$ONE, COLUMNS3=B$TWO, COLUMN4=A$JOB, COLUMN5=B$THREE)
然而,我实际上需要做的是创建一个数据框,而不是在“AB”中命名新列,我需要按索引指定它们,以便它们按正确的顺序排列。我尝试了以下方法,但它显然不起作用。任何帮助将不胜感激
AB<-data.frame([,1]=A$ID, [,2]=B$ONE, [,3]=B$TWO, [,4]=A$JOB, [,5]=B$THREE)
样本数据
A<-data.frame (ID=c("A", "B", "C"), CUSTOMER=c("1", "2", "3"), JOB=c("ONE", "TWO", "THREE"))
B<-data.frame (ONE=c("X", "Y", "Z"), TWO=c("10", "20", "30"), THREE=c("SMALL", "MEDIUM", "LARGE"))
【问题讨论】:
-
我不太确定您在寻找什么。这是你想要的吗?
AB <- data.frame(ID = A$ID, ONE = B$ONE, TWO = B$TWO, JOB = A$JOB, THREE = B$THREE) -
我很确定想要的最终结果是什么,一个与原始数据帧具有相同列名的 data.frame?如果是这种情况,那么
cbind()2 个数据框,然后重新排列列。 -
这是一个非常简单的例子。实际上,我已经基于 RShiny 应用程序提取了几个文件,该应用程序使查询变得灵活。但是,我需要代替“ID”将 A$ID 放在索引位置 1,下一个在位置 2,下一个 3 ......等等。我不知道该怎么做