I have a table with 24 columns, and 20 rows. I need to subtract row 20 of each column from every other value in the column. I have realised that I don't know how to do this in R.
Data:
> dput(data_wide)
structure(list(buffer = c(100, 200, 300, 400, 500, 600, 700,
800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800,
1900, 2000), `2016-04-14` = c(44.3233368349763, 44.2842780363634,
44.2667983216761, 44.2717596196936, 44.184019332736, 44.1459687380984,
44.2156314578352, 44.292918410784, 44.3712581972905, 44.481258950777,
44.5308826444607, 44.496015894994, 44.4805290000869, 44.4819600000553,
44.4909501656083, 44.4813303832329, 44.4749906300651, 44.5024475347625,
44.5158793728091, 44.51699778869), `2016-04-30` = c(53.9292115557815,
53.9128067948966, 53.9001229023346, 53.896694154051, 53.8233748588193,
53.7486717433166, 53.8008629260753, 53.8241925107865, 53.8842911161204,
54.0246700631825, 54.0882908904388, 54.0750063480891, 54.0930009379268,
54.1049881843683, 54.0843407023978, 54.06093374418, 54.0567749518698,
54.1051081163662, 54.1175748912216, 54.1167058068593), `2016-05-25` = c(48.9082991538288,
48.8542889803973, 48.8365226864964, 48.8367388162639, 48.7785756458728,
48.7460750126493, 48.808453324771, 48.8343530083711, 48.8596483792272,
48.95921380963, 49.0249219817559, 49.0246445340062, 49.0432676106739,
49.0745118823003, 49.0974130982773, 49.0898862468766, 49.083214909385,
49.0870572269012, 49.092811287155, 49.1126881246351), `2016-06-17` = c(57.8934614458425,
57.8146989110015, 57.8088298810672, 57.8383613296918, 57.8084542239621,
57.7489562879342, 57.8000797568493, 57.8710701432064, 57.947505001266,
58.057151537183, 58.106116738023, 58.1075450683816, 58.125283840162,
58.1337660641474, 58.1411716358285, 58.1421455518749, 58.1532530714279,
58.2003875422436, 58.2133525452128, 58.2173602804301), `2016-07-19` = c(53.6762669906321,
53.6270974072109, 53.6486095075136, 53.680416405641, 53.6547887970023,
53.6059527861707, 53.6542071741217, 53.7323680662239, 53.7935536382472,
53.8874672192959, 53.9387896666502, 53.8940118083001, 53.920063364166,
53.9467868132744, 53.9369188991944, 53.8986439330495, 53.8518238442449,
53.8730995858223, 53.8632047771802, 53.8293048691249), `2016-08-20` = c(56.5460421380404,
56.508031484179, 56.5248200082172, 56.547273719224, 56.5226151181668,
56.5028997121607, 56.5839524364191, 56.6642675070266, 56.7436382854387,
56.8372063165788, 56.8700663792072, 56.8424320734883, 56.886583269407,
56.9048658352791, 56.8856501400692, 56.8580418850543, 56.8195863664903,
56.8133059388147, 56.8096274974046, 56.8085936989778), `2016-09-21` = c(53.6062483741984,
53.5532718145683, 53.5541310846254, 53.5666932392054, 53.5543678306135,
53.5594644030152, 53.6083274354361, 53.6520492378648, 53.703467780533,
53.7637059796193, 53.7910662353191, 53.7621128865404, 53.786247068345,
53.7916004255707, 53.7983732901682, 53.7742490562955, 53.7759672290781,
53.8096735012173, 53.8222173420148, 53.8342967733074), `2016-10-07` = c(46.6480767537965,
46.5756955755338, 46.5813676001786, 46.5996509110776, 46.585227711888,
46.5846220880112, 46.6557100613584, 46.7000144784874, 46.729670943068,
46.7787428952622, 46.7859866576922, 46.7485346088036, 46.7508760165462,
46.7488416277682, 46.7280249816609, 46.7121262255297, 46.7152744179816,
46.7510007216519, 46.7663259434234, 46.7733838352425), `2016-11-24` = c(36.6294741588397,
36.569251662299, 36.588436240159, 36.6023017714741, 36.5679078247352,
36.5754482230692, 36.6222009157579, 36.6628044634762, 36.7074098080731,
36.768392633677, 36.7995201449195, 36.7760400900839, 36.7977253489654,
36.7993517782457, 36.7783964367591, 36.7655858222745, 36.7624035057413,
36.7949539960002, 36.8083112616428, 36.8046487619483), `2016-12-19` = c(27.0403148487544,
26.9832975149495, 26.9777067506129, 26.9758982707228, 26.9486984825837,
26.9392140357207, 26.9804135453745, 27.0060267938742, 27.0360775179864,
27.0764155634816, 27.0963830856043, 27.0695343952529, 27.0745178084798,
27.0715340063684, 27.0498565538492, 27.034130415393, 27.031165096061,
27.065522921909, 27.0853720817011, 27.0776522042362), `2017-01-27` = c(25.7969356680979,
25.76272414418, 25.7704432004382, 25.7908598891759, 25.7504016471216,
25.7894304249345, 25.8436643602285, 25.8469020442087, 25.8495628586577,
25.8885580366501, 25.9192972775469, 25.9011719286934, 25.9036585318331,
25.8916406462995, 25.8977801911906, 25.8868524477296, 25.8795037054917,
25.8988764332536, 25.912044779451, 25.9212835855343), `2017-02-12` = c(30.7762612737197,
30.7024499148649, 30.7107000236567, 30.748422253205, 30.7365780434099,
30.7791232118112, 30.839022497272, 30.8823315153654, 30.9270167412559,
30.9984537106616, 31.033596077519, 31.0164077691249, 31.0444570713814,
31.0406056546163, 31.026967459001, 31.008738519244, 31.0125917390589,
31.0484647493322, 31.0699491009345, 31.075255463456), `2019-09-14` = c(49.7181980740127,
49.7116742532674, 49.6516084996536, 49.6268533071566, 49.5554052026301,
49.5587219740883, 49.5993073702916, 49.5918474006144, 49.5800955886161,
49.6115603282106, 49.6120407781785, 49.5695858893599, 49.6029794681947,
49.5961911192124, 49.5887902370627, 49.5712402171959, 49.5597844203618,
49.5587904411402, 49.550780879217, 49.5368567457294), `2019-10-25` = c(44.8888971642166,
44.8489676932147, 44.7963056950716, 44.7826342119746, 44.7652821361312,
44.7869579725758, 44.8433917653198, 44.8656681561272, 44.8915391864859,
44.9185845240734, 44.9347292652538, 44.909425880772, 44.9194081844956,
44.9015730980985, 44.8787381627011, 44.8393538046616, 44.8315434529574,
44.8478807483361, 44.8471942330835, 44.8383321397866), `2019-11-17` = c(38.034854905611,
38.0132569007993, 38.0029000913197, 38.0114249478393, 37.9448885969114,
37.9431972663754, 37.9863630719351, 37.9970968755412, 38.0282140322058,
38.0879487448466, 38.0963359146524, 38.0592071257157, 38.0699416360231,
38.0570506659452, 38.0327182782553, 38.0045175963606, 37.9979213539481,
38.0255832061725, 38.0350903467878, 38.0332160837), `2019-12-19` = c(29.7750738868046,
29.7305820696197, 29.7113065246677, 29.7000206117296, 29.6522155588602,
29.6680734243103, 29.7097448119625, 29.7268816858481, 29.7530747267122,
29.7857578685632, 29.7964580141694, 29.7477026243491, 29.7572789496315,
29.7473973580043, 29.731900177278, 29.7247755927955, 29.7222167960215,
29.7436578911369, 29.7461743585585, 29.736092926857), `2020-01-20` = c(25.5778302781922,
25.5356577174164, 25.5060736368785, 25.5009297689133, 25.4504501409443,
25.4919575279907, 25.540451142604, 25.5340522464098, 25.5444599624436,
25.5931584443703, 25.5956999491681, 25.5423380540925, 25.534316657701,
25.5211381746182, 25.5062576992658, 25.49291322328, 25.5096708380184,
25.5458727478953, 25.5581431797126, 25.5454537681124), `2020-02-14` = c(33.0665180519296,
33.0430132348104, 33.0194104264676, 33.0259520480198, 32.9706024386436,
33.0056868013468, 33.076314522018, 33.1038696431837, 33.1444413711187,
33.2218987089382, 33.2455745347179, 33.2138638353728, 33.2204597903833,
33.2058700349184, 33.1909001693657, 33.1750913393791, 33.1728434941112,
33.2101751936159, 33.2247292429698, 33.2200753735791), `2020-03-17` = c(39.6270426386458,
39.553944179359, 39.4986515141936, 39.4647626256666, 39.3861137593387,
39.3764502467068, 39.3912609068635, 39.3786818865846, 39.3685802493481,
39.4232359876441, 39.4452088318174, 39.4115282767489, 39.4331661300129,
39.4250450701856, 39.4239682845189, 39.4170528426849, 39.4216843328784,
39.442076690911, 39.4410456095115, 39.4293893843195), `2020-04-25` = c(45.9111269881677,
45.8162741104611, 45.7545593410673, 45.7303811951881, 45.6898159690259,
45.676396424272, 45.6952186165727, 45.7150785606256, 45.7148109755947,
45.7406512099033, 45.7335428313375, 45.7139147433373, 45.7344219291603,
45.732639857234, 45.7026602468739, 45.6642110945184, 45.6092714351963,
45.5961470225331, 45.5864778648694, 45.5661695443847), `2020-05-11` = c(52.3070501481948,
52.3133629790711, 52.2297372617409, 52.2079012485308, 52.1024474302762,
52.0805303509074, 52.1719156268442, 52.1640215768526, 52.1691896341588,
52.2372805551717, 52.2810750208876, 52.2761049870918, 52.2947587499129,
52.3067396361507, 52.327170966651, 52.3260381475536, 52.3285860291506,
52.3448617591764, 52.3489673246984, 52.3486480183706), `2020-06-12` = c(52.3622876402937,
52.3268434331186, 52.291194831678, 52.2881861062442, 52.2068054286139,
52.1835865813358, 52.2258164383926, 52.2379461445661, 52.2325805840054,
52.2512427727095, 52.2667379072014, 52.2505512942699, 52.276655973655,
52.2652116231138, 52.2342142228323, 52.2055120063515, 52.199533462602,
52.2192811782593, 52.222624900087, 52.2134349552), `2020-07-14` = c(56.9623331738556,
57.0874547707903, 57.146071149598, 57.2008421536695, 57.2174703571028,
57.2331764171152, 57.2941661968886, 57.3543315028811, 57.3983841880851,
57.4716396904271, 57.5235579865, 57.5061486798417, 57.5183779180606,
57.4937848037544, 57.4144014174792, 57.3510223839534, 57.3025431984235,
57.3093782331418, 57.3053443690249, 57.3100077502121), `2020-08-15` = c(58.9939123032422,
59.1096147764621, 59.1445509582417, 59.1588442545499, 59.0650580050579,
59.0351365819596, 59.1099934169395, 59.1336880863718, 59.1720685911797,
59.285355750148, 59.3374273898264, 59.3144308162599, 59.3598428466834,
59.3680156687485, 59.3584502069719, 59.3374082736675, 59.3234116491164,
59.3775886756706, 59.4286109584495, 59.4570297869801)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -20L))
I know there will be a tidyverse and lapply() appproach, and that it will be simple, but I've not got it to work. I'd rather do it in R than export CSVs and do it in Excel (which would take 5 minutes).