如何在R中对数据帧进行矢量化?
我有这个数据框:如何在R中对数据帧进行矢量化?,r,dataframe,reshape,R,Dataframe,Reshape,我有这个数据框: aaa=read.table(text="variable value X3CO 24.88994 X3CO 25.02366 X3CO 24.90309 X3CS 25.70630 X3CS 25.26748 X3CS 25.19539 X3CD 26.95723 X3CD 26.84726 X3CD 26.23144 X3CSD 36.95251
aaa=read.table(text="variable value
X3CO 24.88994
X3CO 25.02366
X3CO 24.90309
X3CS 25.70630
X3CS 25.26748
X3CS 25.19539
X3CD 26.95723
X3CD 26.84726
X3CD 26.23144
X3CSD 36.95251
X3CSD 36.04091
X3CSD 36.90476
X5CO 25.44123
X5CO 24.97586
X5CO 24.86076
X5CS 25.71570
X5CS 26.10244
X5CS 25.39033
X5CD 27.67509
X5CD 27.18986
X5CD 26.93682
X5CSD 36.26529
X5CSD 34.88553
X5CSD 33.97910
X7CO 24.71426
X7CO 24.08444
X7CO 23.97058
X7CS 24.55734
X7CS 24.56562
X7CS 24.75898
X7CD 27.14260
X7CD 26.65704
X7CD 26.49533
X7CSD 33.89882
X7CSD 32.91092
X7CSD 32.79199
X9CO 26.86141
X9CO 26.42649
X9CO 25.83506
X9CS 28.17368
X9CS 27.27401
X9CS 26.58814
X9CD 28.88915
X9CD 28.32598
X9CD 28.27136
X9CSD 34.61352
X9CSD 35.84190
X9CSD 35.80329",header=TRUE)
您知道有没有一种方法可以使用“变量”级别将此数据帧矢量化为矢量
此过程相当于手动执行此操作:
c(c(24.88994,25.02366,24.90309), c(25.70630,25.26748,25.19539),...))
corresponding to
c(c(X3CO,X3CO,X3CO),c(X3CS,X3CS,X3CS),...))
对于给定的数据帧:
aaa$value
因为它已经按变量
分组(如果不一定排序)
对于尚未在组中的数据帧:
aaa[order(aaa$variable), "value"]
您可以使用
split()
函数创建数据帧列表,每个数据帧只包含一个级别,然后从该列表中提取向量:
aaa.sp <- split(aaa, aaa$variable)
aaa.sp[[1]]$variable
aaa.sp[[1]]$value
aaa.sp正常,但如何使用变量级别(每个向量3个值)aggregate(值~变量,aaa,as.vector,simplify=FALSE)生成单个向量
?这将在“值”列中创建向量的列表。或者,加上(aaa,分割(值,变量))
也许?我不太明白你的问题。你能描述一下你的最终目标吗?