【发布时间】:2021-11-12 12:29:31
【问题描述】:
问题
我正在尝试使用逻辑运算符将列出加密货币项目市值的数据列拆分为分类数据(在一列中)。
我尝试过的解决方案 我正在使用 tidyverse、管道运算符和 mutate 来实现带有逻辑运算符的 if-else 语句,并尝试保存为分类变量。在网上找不到正确的答案,但我最有可能让编码员了解我一直在研究的线程和解决方法。
library(httr)
library(jsonlite)
library(dplyr)
library(ggthemes)
library(ggplot2)
library(ggrepel)
library(googlesheets4)
library(tidyverse)
options(scipen=999)
# Get BTC API results from Nomics
NOMICS_API <- GET("https://api.nomics.com/v1/currencies/ticker?key=YOURKEY&interval=30d,365d&convert=EUR")
# Get json request results as text
NOMICS_API_TEXT <- content(NOMICS_API, "text")
# Make a useful object for R analysis
NOMICS_API_DF <- fromJSON(NOMICS_API_TEXT)
# Unnest nested tables 30d and 365d
DF_RAW <- unnest(NOMICS_API_DF, c("30d","365d"), names_repair = "universal")
# Clean, redefine and filter inactive projects
DF_CLEAN <- DF_RAW %>%
filter(status == "active") %>%
mutate(rank = as.integer(rank),
price = as.numeric(price),
num_pairs = as.integer(num_pairs),
num_exchanges = as.integer(num_exchanges),
circulating_supply = as.numeric(circulating_supply),
max_supply = as.numeric(max_supply),
market_cap = as.numeric(market_cap)/(1*10^9),
market_cap_dominance = as.numeric(market_cap_dominance)*100,
high = as.numeric(high),
high_timestamp = as.Date(high_timestamp),
market_cap_tier = if(market_cap => 50) as.character("Big Cap")
else if (50 > market_cap > 10) as.character("Medium Cap")
else if (10 > market_cap > 0) as.character("Small Cap")
)
请大家多多指教!
【问题讨论】:
-
网址的 tls 证书无效,下载不是问题的一部分。请提供带有示例数据的最小可重现示例
-
是的,对不起。这将是我的 Nomics 私有 API 密钥。
标签: r data-analysis cryptocurrency