I’m trying to calculate the slope in R using the lm() function. I have a data set that contains the points X1-X20 with calculated area and mean by log function (see below). How can I calculate and create a new column for slope in data frame?
My approach has been to do this:
coefLM <- function(x) {
coef(lm(log(mean)~log(area), data = x))[2]
}
And getting the following error message:
coefs <- sapply(tar.all[-1,], coefLM)
Error in eval(predvars, data, env) :
numeric 'envir' arg not of length one
Here is my data frame, name tar.all:
tar.all <-
structure(list(X1 = c(0L, 1481L, 2073L, 2485L, 2224L, 2260L,
2526L, 2832L, 1817L, 1540L, 1948L, 917L, 2210L, 1894L, 2759L,
2629L, 2726L, 2368L, 2192L, 1946L, 2720L, 1944L, 2248L, 2105L,
2159L, 2153L, 2011L, 2095L, 1907L, 2527L, 1621L, 2015L, 2383L,
2241L, 2009L, 2420L, 2247L, 2029L, 2109L, 1979L, 2165L, 2181L,
2064L), X2 = c(0L, 2087L, 2280L, 2083L, 1191L, 2466L, 2229L,
1755L, 1234L, 2312L, 1350L, 2251L, 2436L, 2062L, 1894L, 2387L,
2048L, 2198L, 2011L, 2331L, 2175L, 2152L, 2300L, 1941L, 2133L,
2174L, 2098L, 2126L, 2284L, 2015L, 2421L, 1692L, 2455L, 1962L,
2101L, 2199L, 2318L, 2017L, 2097L, 1992L, 2083L, 2198L, 2064L
), X3 = c(0L, 2231L, 1913L, 1736L, 1881L, 1480L, 2463L, 2207L,
1905L, 1062L, 2625L, 2123L, 2198L, 1799L, 2486L, 1727L, 2633L,
2579L, 2601L, 2498L, 2160L, 1952L, 2074L, 2688L, 2543L, 2324L,
1658L, 2392L, 1720L, 1891L, 2266L, 1943L, 2344L, 2431L, 2037L,
2428L, 2066L, 2174L, 2097L, 2226L, 2206L, 2160L, 2167L), X4 = c(0L,
894L, 421L, 1060L, 2743L, 2096L, 2227L, 2696L, 2393L, 1755L,
2176L, 1695L, 1806L, 1757L, 1778L, 2408L, 1830L, 1987L, 1786L,
2547L, 2286L, 1916L, 2129L, 2108L, 2113L, 2277L, 2058L, 1920L,
1673L, 2151L, 2445L, 2097L, 1895L, 2443L, 2453L, 1954L, 2318L,
2145L, 1933L, 1992L, 2233L, 2160L, 2096L), X5 = c(0L, 2633L,
1913L, 2566L, 2557L, 1389L, 2341L, 2102L, 2794L, 1864L, 2138L,
1746L, 2357L, 2479L, 2405L, 1385L, 1776L, 2198L, 1976L, 2339L,
2418L, 2010L, 2115L, 2271L, 1958L, 2240L, 1853L, 2100L, 1695L,
2133L, 2078L, 1867L, 2243L, 1941L, 2418L, 2443L, 2318L, 1901L,
2318L, 2258L, 2218L, 2169L, 2168L), X6 = c(0L, 1437L, 1449L,
1643L, 1229L, 2020L, 2635L, 2593L, 2292L, 1260L, 2771L, 2779L,
1873L, 2428L, 1459L, 1768L, 1112L, 1974L, 1946L, 2500L, 2170L,
2265L, 1998L, 2316L, 2459L, 2148L, 2503L, 2384L, 2141L, 2262L,
2078L, 2243L, 1866L, 2429L, 2418L, 2358L, 2340L, 1922L, 2308L,
2228L, 2092L, 2157L, 2187L), X7 = c(0L, 2079L, 1794L, 970L, 249L,
1570L, 443L, 2497L, 2239L, 2858L, 2405L, 1773L, 2469L, 2078L,
1593L, 2358L, 2421L, 2551L, 2497L, 1955L, 2300L, 1701L, 2111L,
2178L, 2543L, 2343L, 2209L, 2353L, 2394L, 1716L, 1739L, 2466L,
2218L, 1909L, 2345L, 2392L, 2305L, 2196L, 2328L, 2306L, 2092L,
2070L, 2195L), X8 = c(0L, 2513L, 1381L, 2482L, 2744L, 2327L,
2243L, 1889L, 2583L, 1457L, 1185L, 1988L, 2113L, 2184L, 1747L,
2136L, 2197L, 2212L, 1752L, 2118L, 2439L, 2438L, 1939L, 2171L,
1836L, 1673L, 1774L, 2100L, 2194L, 2287L, 2054L, 1990L, 2031L,
2293L, 2293L, 2259L, 2095L, 2017L, 2097L, 2226L, 2197L, 2160L,
2167L), X9 = c(0L, 2836L, 2494L, 2730L, 1916L, 2700L, 2357L,
1406L, 943L, 1574L, 2220L, 2243L, 2827L, 1213L, 2146L, 1524L,
1839L, 2221L, 2215L, 2136L, 1944L, 1815L, 2669L, 2242L, 1828L,
1855L, 1771L, 2574L, 2377L, 2304L, 2355L, 2165L, 2238L, 2145L,
2026L, 2264L, 2318L, 2260L, 2255L, 2306L, 2206L, 2192L, 2163L
), X10 = c(0L, 494L, 2255L, 1851L, 629L, 2362L, 1853L, 968L,
1377L, 2265L, 1702L, 2217L, 2349L, 1991L, 1999L, 2502L, 1437L,
1752L, 2081L, 2547L, 2440L, 1736L, 2423L, 1939L, 2189L, 2437L,
2116L, 2249L, 2148L, 1981L, 1745L, 2101L, 1877L, 2282L, 2037L,
2408L, 2426L, 2121L, 2326L, 2316L, 1899L, 2070L, 2209L), X11 = c(0L,
1988L, 1002L, 1203L, 1765L, 2502L, 1821L, 2467L, 2017L, 2821L,
1171L, 1685L, 1325L, 1721L, 1385L, 1686L, 1707L, 2573L, 1934L,
2692L, 2303L, 2224L, 2154L, 1941L, 2313L, 2535L, 1925L, 2233L,
1738L, 2060L, 2255L, 1796L, 2078L, 1919L, 2264L, 1997L, 2212L,
2005L, 2243L, 2145L, 2000L, 2199L, 1891L), X12 = c(0L, 397L,
1930L, 2054L, 2197L, 676L, 1072L, 2146L, 1886L, 2307L, 1469L,
1860L, 1582L, 2708L, 2534L, 2234L, 1796L, 2237L, 2352L, 2355L,
2146L, 1769L, 1837L, 2318L, 2405L, 2483L, 2054L, 2382L, 2584L,
2154L, 2050L, 1709L, 2077L, 2044L, 2330L, 2197L, 2420L, 2053L,
2235L, 2357L, 2092L, 2027L, 2057L), X13 = c(0L, 1611L, 2270L,
2859L, 2728L, 851L, 2344L, 1871L, 2182L, 2476L, 1240L, 2685L,
1802L, 2146L, 1653L, 1934L, 2129L, 2692L, 2031L, 2436L, 1813L,
2559L, 2263L, 2006L, 1991L, 2141L, 2225L, 2096L, 2469L, 2225L,
2278L, 1997L, 2165L, 2289L, 2158L, 2193L, 2167L, 2133L, 2258L,
2081L, 2202L, 2173L, 2172L), X14 = c(0L, 2470L, 442L, 2479L,
2632L, 1966L, 2102L, 2595L, 2463L, 2227L, 2693L, 1445L, 1588L,
1559L, 1504L, 2328L, 2344L, 1929L, 2036L, 2367L, 1720L, 2318L,
1983L, 2066L, 2272L, 1939L, 2101L, 2186L, 2080L, 1981L, 2024L,
2018L, 2150L, 2131L, 2342L, 2269L, 2431L, 2264L, 2091L, 2344L,
2047L, 2174L, 2199L), X15 = c(0L, 2278L, 795L, 2485L, 2190L,
2698L, 1767L, 2670L, 1376L, 2456L, 2520L, 2777L, 2545L, 2207L,
2425L, 2368L, 1943L, 1946L, 1706L, 1558L, 2201L, 1693L, 2133L,
2234L, 2279L, 2558L, 1938L, 1896L, 2590L, 2548L, 1705L, 1815L,
2372L, 1941L, 2037L, 2077L, 2199L, 2353L, 2109L, 2081L, 2099L,
2010L, 2175L), X16 = c(0L, 1837L, 1656L, 2166L, 1633L, 1599L,
1539L, 946L, 1481L, 2403L, 1636L, 2344L, 2169L, 2050L, 1830L,
1814L, 2457L, 2386L, 2065L, 2113L, 2684L, 2135L, 1930L, 2123L,
1959L, 2303L, 2322L, 2243L, 1698L, 2021L, 1692L, 2421L, 2253L,
2088L, 1842L, 2147L, 1910L, 1974L, 2326L, 2226L, 2017L, 1996L,
2163L), X17 = c(0L, 1930L, 1091L, 2436L, 2336L, 2570L, 2327L,
1246L, 2162L, 2539L, 2280L, 1923L, 2376L, 2402L, 2578L, 2421L,
2266L, 2298L, 1585L, 2230L, 2731L, 1914L, 2055L, 1859L, 2658L,
2329L, 2089L, 2096L, 2285L, 1820L, 1816L, 2226L, 2350L, 1974L,
2264L, 2199L, 2318L, 2243L, 2175L, 1979L, 1896L, 1960L, 2064L
), X18 = c(0L, 2878L, 526L, 502L, 2462L, 2249L, 2485L, 1893L,
2309L, 2787L, 2137L, 994L, 1887L, 2146L, 1474L, 2408L, 1813L,
2255L, 2077L, 2123L, 2581L, 2711L, 1965L, 1930L, 2243L, 2251L,
2129L, 2033L, 2226L, 2021L, 2274L, 1848L, 1816L, 2095L, 2031L,
2030L, 2007L, 2200L, 2235L, 2336L, 2233L, 2063L, 2168L), X19 = c(0L,
1563L, 2608L, 2105L, 2514L, 1650L, 2441L, 2334L, 2033L, 1824L,
1367L, 2799L, 2877L, 1539L, 1707L, 2058L, 2467L, 1929L, 2519L,
2395L, 2188L, 1820L, 2268L, 2546L, 2216L, 2411L, 2119L, 2058L,
2246L, 2428L, 2204L, 2253L, 2344L, 2224L, 2101L, 2420L, 2420L,
1954L, 2175L, 2230L, 2092L, 2061L, 2150L), X20 = c(0L, 2738L,
442L, 2598L, 368L, 2266L, 2382L, 2106L, 1918L, 2587L, 2815L,
1146L, 1454L, 2680L, 1549L, 2409L, 2259L, 1937L, 2068L, 2330L,
2096L, 2454L, 2617L, 1939L, 2134L, 2470L, 2132L, 1922L, 1988L,
1651L, 2266L, 1816L, 1835L, 2095L, 2342L, 1900L, 2322L, 2256L,
2109L, 1979L, 2246L, 2077L, 2057L), area = c(0, 83.29863, 333.1945,
749.68763, 1332.77801, 2082.46564, 2998.75052, 4081.63265, 5331.11204,
6747.18867, 8329.86256, 10079.13369, 11995.00208, 14077.46772,
16326.53061, 18742.19075, 21324.44815, 24073.30279, 26988.75469,
30070.80383, 33319.45023, 36734.69388, 40316.53478, 44064.97293,
47980.00833, 52061.64098, 56309.87089, 60724.69804, 65306.12245,
70054.14411, 74968.76302, 80049.97918, 85297.79259, 90712.20325,
96293.21116, 102040.81633, 107955.01874, 114035.81841, 120283.21533,
126697.2095, 133277.80092, 140024.98959, 146938.77551), mean = c(0,
1918.75, 1536.75, 2024.65, 1909.4, 1984.85, 2079.85, 2060.95,
1970.2, 2118.7, 1992.4, 1969.5, 2112.15, 2052.15, 1945.25, 2124.2,
2060, 2211.1, 2071.5, 2275.8, 2275.75, 2076.3, 2160.55, 2146.05,
2211.55, 2252.2, 2054.25, 2171.9, 2121.85, 2108.8, 2068.3, 2023.9,
2149.5, 2143.8, 2192.4, 2227.7, 2257.85, 2110.85, 2191.2, 2179.35,
2115.75, 2112.85, 2128.8), sd = c(0, 723.03162, 732.90589, 654.95458,
793.58662, 580.42065, 542.44527, 567.40884, 483.03314, 538.90748,
562.7292, 569.32227, 436.96288, 385.95368, 438.89021, 361.63672,
407.17667, 261.64437, 269.48733, 262.34902, 278.14931, 303.98288,
219.20322, 214.5876, 232.51723, 227.88746, 197.28496, 179.34938,
300.51032, 244.39993, 263.49855, 222.17629, 205.11627, 177.62663,
174.34853, 169.91332, 145.67566, 130.93039, 108.568, 138.17505,
106.23404, 76.02166, 76.92895)), class = "data.frame", row.names = c(NA,
-43L))
How can I solve this error? Thank you in advance