我有一个向量列表(如下所示).我想知道向量的每个元素在哪个列表元素中.换句话说,我想反转列表以创建一个新的列表,它names
取自向量.
这样做的最佳方法是什么?
lst <- list(a=c(2, 3, 6, 10, 15, 17), b=c(4, 6, 9, 7, 6, 4, 3, 10),
c=c(9, 2, 1, 4, 3), d=c(3, 6, 17))
lst
$a
[1] 2 3 6 10 15 17
$b
[1] 4 6 9 7 6 4 3 10
$c
[1] 9 2 1 4 3
$d
[1] 3 6 17
Run Code Online (Sandbox Code Playgroud)
我想得到以下答案.
$`1`
[1] "c"
$`10`
[1] "a" "b"
$`15`
[1] "a"
$`17`
[1] "a" "d"
$`2`
[1] "a" "c"
$`3`
[1] …
Run Code Online (Sandbox Code Playgroud) 这是csv数据:https://www.dropbox.com/s/87bwvhyo6i4f68u/test.csv,第一列是日期,第二列是对应的值.
我想用excel制作这样的图片:https://www.dropbox.com/s/13wyk1aeajgs6fq/test.png.注意:绘图中的ylim更改为对数刻度(基数10),这可以使图像比原始图像更好.我想在R中使用它,特别是使用ggplot使其美观,但我不能.所以我希望你能提供帮助.
ba <- as.data.frame(fread("test.csv"))
plot(as.factor(ba[, 1]), ba[, 2], log = "y", xaxt = "n", xlab = "")
idx <- seq(1, 100, length = 10)
labels <- ba[, 1]
labels <- labels[idx]
axis(1, seq(1, 100, length = 10), par("usr")[3], srt = 45, labels = labels,
adj = 1, xpd = TRUE)
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:
[以下是rawr的答案].那是完美的.
tmp <- read.csv('~/desktop/test.csv', stringsAsFactors = FALSE,
strip.white = TRUE, header = FALSE)
tmp$V1 <- paste0(tmp$V1, '-01')
tmp <- …
Run Code Online (Sandbox Code Playgroud) 我想在set容器中打印出vector元素.我做了如下代码:
int main() {
vector<int> aa = {3, 2, 1, 1};
vector<int> bb = {5, 1, 7, 9};
set<vector<int>> myset; // setVector
myset.insert(aa);
myset.insert(bb);
for (auto elem : myset) {
cout << elem << ", ";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,此代码无法打印出矢量:(3, 2, 1, 1)
和(5, 1, 7, 9)
.