我正在處理一個有65個變量的數據幀。第一個變量爲一個人編目,而接下來的64個變量表示該人距離64個位置中的每一個的地理距離。使用R,我想創建一個新變量,將每個人的最短距離編目到64個位置中的一個。例如:如果人X距離地點35,50,79,100,450 ......英里,我希望新變量自動分配給他們35,因爲這是最短的距離。 任何幫助,將不勝感激。謝謝。獲取數據幀中行的最小值
8
A
回答
8
df <- data.frame(let=letters[1:25], d1=sample(1:25,25), d2=sample(1:25,25), d3=sample(1:25,25))
df$shortest <- apply(df[,2:4],1,min)
第二行將函數min應用於每一行並將其分配給我的data.frame df中的新列。請參閱?apply
瞭解第二行正在做什麼的更多解釋。小心跳過第一列,或者不屬於任何距離列:
apply(df,1,min)
給自其找到字符串「分鐘」完全差異的答案。
> min(2:10)
[1] 2
> min(as.character(2:10))
[1] "10"
4
我會通過應用,但轉換或其他方法可以工作。
#fake data set
ID=LETTERS[1:5], distance=matrixsample(
DF <- as.data.frame(matrix(sample(1:100, rep=T, 100), 5, 20))
DF <- data.frame(ID=LETTERS[1:5], DF)
#solution
DF$newvar <- apply(DF[,-1], 1, min)
12
或者,使用賈斯汀的例子:
df$shortest <- do.call(pmin,df[-1])
也?pmin
和?do.call
看,並注意您可以通過使用列表索引在您的數據幀丟棄第一變量(所以不使用任何逗號都可以,另請參閱?Extract
)
相關問題
- 1. 從特定列中獲取最小值和最大值scala火花數據幀
- 2. 從R的數據幀的列中獲取`n`的最大或最小值
- 3. Mysql 4.0獲取最小值的數據
- 4. 從NA值最小的數據幀中選擇一行
- 5. 在R中獲取最小值的行
- 6. 獲取參數的最大值或最小值到行值postgres
- 7. 獲得time_diff的最小值爲熊貓數據幀
- 8. 獲取熊貓數據幀中的最大連續空行
- 9. 獲取包含數據的最小/最大行號的行號?
- 10. 不含0(數據幀的行)最小值
- 11. 通過laravel中的最小值獲取組中的數據
- 12. 獲取最小值
- 13. 有效獲取最小值,最大值和彙總數據
- 14. c#從數組中獲取最小值
- 15. 從數組中獲取最小值
- 16. 在特定條件下獲取數據幀的最大值()
- 17. 獲取PHP數組中的最小值和最大值
- 18. 獲取2d數組的行,其中最小值在第一列
- 19. 從數據幀中提取具有最高和最低值的行
- 20. 獲取數據集中的最高值
- 21. 獲取數據庫中的最大值
- 22. 如何從代碼數據庫中獲取列的最大值和最小值
- 23. MySQL:以最小值獲取滿行
- 24. 獲取大熊貓數據幀的索引匹配的行值
- 25. 獲取數據幀的
- 26. JavaScript獲取數組的最大值最小值平均值
- 27. 獲取星火數據集嵌套數組的最小值
- 28. 獲取數據框中最大值的(行,列)指數
- 29. 從數組中獲取最小值和最大值 - Java
- 30. 從JavaScript數組中獲取最大值和最小值
df $ newvariable = apply(df [,2:65],1,min) – aatrujillob