PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
Re: [問題] 挑出某些條件的數值做整理
作者:
celestialgod
(天)
2017-04-22 23:06:35
※ 引述《smallpigpi (一勺子)》之銘言:
: [問題類型]:
: 程式詢問(我想用R 做某件事情,但我不知道怎麼用R寫出來)
: [軟體熟悉度]:
: 超級新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: S.L S.W P.L P.W Species
: 49.0 30.0 14.000 2.0 setosa
: 5.6 2.9 3.600 1.3 versicolor
: 6.8 3.2 5.900 2.3 virginica
: 我想請問
: 如何挑出大於10的數值把它除於10
: 以及如何把每個數值統一顯示小數點後一位
: 謝謝各位大大
: (手機排版,不知道會不會亂掉)
# data.table做法:
library(data.table)
irisDT <- data.table(iris)
irisDT[ , lapply(.SD, function(x){
if (is.numeric(x)) {
ifelse(x > 10, x / 10, x)
} else return(x)})]
# dplyr做法:
library(dplyr)
irisDT %>% mutate_if(is.numeric, funs(ifelse(. > 10, . / 10, .)))
# base函數解法:
evalExpr <- lapply(names(irisDT)[sapply(irisDT, is.numeric)],
function(x) bquote(ifelse(.(as.symbol(x)) > 10, .(as.symbol(x)) / 10,
.(as.symbol(x)))))
do.call(function(...) transform(irisDT, ...), evalExpr)
看一下這篇:
https://www.ptt.cc/bbs/R_Language/M.1492181442.A.5B4.html
統一顯示小數點後一位的話:
print(iris, digits = 2)
作者:
smallpigpi
(一勺子)
2017-04-22 23:26:00
謝謝大大指點,不過不知為何我啟動不了data.table
" target="_blank" rel="nofollow">
我原本是使用data.frame處理,也只學到這裡XD除了data.table其它方法大概還啃不下。還是非常感謝
作者:
clansoda
(小笨)
2017-04-22 23:57:00
額,你知道有些library不是內建的嗎你得install.packages("data.table")
作者:
smallpigpi
(一勺子)
2017-04-23 00:04:00
知道XD,圖片裡第一行有下載一次
作者:
clansoda
(小笨)
2017-04-23 00:06:00
我看到了
繼續閱讀
[問題] 挑出某些條件的數值做整理
smallpigpi
[問題] Rwordseg自定義詞庫
dustnight
[問題] 矩陣相乘與平行運算的問題
wheado
[分享] introduce to foreach + iterators
celestialgod
[問題] 以Mass中的lda分類資料
ms0344303
[問題] merge datasets
ataiwu
[問題] Roracle安裝問題
giock18
[問題] 如何在地圖上加上標籤
mvp24213
Re: [問題] 二維的資料如何轉換回一維
locka
[問題] 二維的資料如何轉換回一維
chy0253350
Links
booklink
Contact Us: admin [ a t ] ucptt.com