iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
Python

Python和R入門語法比較系列 第 22

11 [R] 取得欄位位置 [16th 鐵人 Day 22]

  • 分享至 

  • xImage
  •  

點我下載:song_rank3.csv

讀檔

# data/song_rank3.csv
setwd('/Users/carplee/Desktop/IT python')
r3 = read.csv('data/song_rank3.csv', encoding = 'utf-8')
r3

https://ithelp.ithome.com.tw/upload/images/20240911/20162398zcdxZnPhnF.png

Artist在第?欄

全部的欄位

colnames(r3)
[1] "Rank"    "Hits"    "Song"    "Co"      "art1"    "art2"    "Artist"  "Date"    "Url"    
[10] "Artist2"

Artist在第?欄

grep('Artist', colnames(r3))
[1]  7 10 # 第7欄  共10欄

用欄位位置在Artist欄後插入新的一欄

install.packages('dplyr')
library(dplyr)

r3 = r3 %>% mutate(new=0, .after=7)
r3

https://ithelp.ithome.com.tw/upload/images/20240911/20162398T4WbL9fdli.png

x = grep('Artist', colnames(r3))[1]
r3 = r3 %>% mutate(new2=0, .after=x)
r3

https://ithelp.ithome.com.tw/upload/images/20240911/20162398vw2KLkRdec.png

用欄位位置刪除

取得欄位位置

colnames(r3)
 [1] "Rank"    "Hits"    "Song"    "Co"      "art1"    "art2"    "Artist"  "new2"    "new"    
[10] "Date"    "Url"     "Artist2"
grep("new",colnames(r3))
#grep("new2",colnames(r3))
[1] 8 9
grep("new",colnames(r3), value = TRUE)

正規表示式 ^, $

grep("^a", c('abcde','dea','def')) #a...
grep("e$", c('abcde','dea','def')) #...e

用正規表示式 $ 取得new 而非new2

grep("new$",colnames(r3))

刪除 new 欄

index = grep("new$",colnames(r3))
r3 = r3[,-index]
r3

https://ithelp.ithome.com.tw/upload/images/20240911/20162398WD2x6vLndM.png

刪除 new2 欄

index2 = grep('^new2$', colnames(r3))
r3 = r3[,-index2]
r3

https://ithelp.ithome.com.tw/upload/images/20240911/20162398BTx21hv5CT.png

內容預告:

12 布林值和表格條件選取

13 畫長條圖統計

14 [Python] for迴圈 和 matplotlib.pyplot 畫線圖

14 [R]for迴圈 和 ggplot 畫線圖

15 for 迴圈 和 html網頁資料解析 迴圈 和 html網頁資料解析


上一篇
11 [python] 取得欄位位置 [16th 鐵人 Day 21]
下一篇
12 [python] 布林值和表格條件選取 [16th 鐵人 Day 23]
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言