簡體   English   中英

如何從R中的data.frame列制作矢量?

[英]How to make a vector from columns of data.frame in R?

這是詳細的描述:像這樣的數據框:

name height weight  
john   6     160    
mike   6.2   155    
jack   7     180

我想創建一個新列,該列是最后兩列的組合:

height_weight    
c(6,160)    
c(6.2,155)    
c(7,180)

我認為使用for循環很容易。 我正在嘗試找到一種更有效的方法

此轉換非常有用,因為許多方法f需要輸入= c(x1,x2)而不是輸入= ...,如果要獲取列中每個元素的結果,則可以使用sapply / lapply(height_weight,f)

我們可以使用Map創建vector list 假設OP需要一個list

df1$height_weight <- do.call(Map, c(f= c, unname(df1[-1])))
df1
#  name height weight height_weight
#1 john    6.0    160        6, 160
#2 mike    6.2    155    6.2, 155.0
#3 jack    7.0    180        7, 180

實際上,我認為還有另一種邏輯上執行此操作的方法,因為所有方法都適用於列而不是行的族函數

對data.frame的列進行轉置,然后可以對轉置后的data.frame使用lapply並將結果轉置回去

據我所知,猜你在找這個嗎

data$height_weight <- paste(data$height,data$weight,sep = ",")
  name height weight     height_weight
1 john    6.0    160   6,160
2 mike    6.2    155 6.2,155
3 jack    7.0    180   7,180

暫無
暫無

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

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