![](/img/trans.png)
[英]How to replace values in multiple columns in a data.frame with values from a vector in R?
[英]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.