簡體   English   中英

如何在R中對數據幀進行矢量化?

[英]How to vectorize a dataframe in R?

我有這個數據幀:

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),...))

您可以使用split()函數創建數據框列表,每個數據框只包含一個級別,然后從此列表中提取向量:

aaa.sp <- split(aaa, aaa$variable)
aaa.sp[[1]]$variable
aaa.sp[[1]]$value

對於您的給定數據框:

aaa$value

因為它已經按variable分組(如果不一定排序)。

對於尚未在組中的數據框:

aaa[order(aaa$variable), "value"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM