如何解决如何在R中的For循环中引用向量的子元素
我正在尝试使用Yahoo Finance更改用于股票搜索的数据。我正在尝试使网络浏览器自动化,以便为每只股票提供Yahoo URL。我想将ISIN代码用于Yahoo Finance。
我正在使用一个简单的1行excel工作表(csv文件),并在列中显示股票名称,例如:
A B C
1 Apple
2 Google
3 Facebook
4 Amazon
5 Tesla
我已经复制了该网站的网址。 我要在向量的每个元素中复制网址。
rm(list=ls())
cat("\014")
dev.off()
library(KeyboardSimulator)
Target_Names <- read.csv(file.choose(),header=F)
for (i in 1:nrow(Target_Names)){
Name=as.character(Target_Names[i,1])
#Name= "Apple"
#Name="Facebook"
#Name="Google"
mouse.get_cursor()
mouse.move(904,130,duration = 2,step_ratio = 0.01)
mouse.click(button = "left",hold = F)
writeClipboard(Name)
keybd.press('Ctrl',hold = T)
keybd.press('v')
keybd.release('ctrl')
Sys.sleep(2)
mouse.move(1195,125,hold = F)
Sys.sleep(5)
mouse.move(850,60,hold = F)
Sys.sleep(2)
keybd.press('Ctrl',hold = T)
keybd.press('a')
keybd.release('ctrl')
Sys.sleep(2)
keybd.press('Ctrl',hold = T)
keybd.press('c')
keybd.release('ctrl')
Sys.sleep(2)
copdat[] <- read.delim("clipboard")
}
唯一的问题是最后一行。我放了
copdat[i]
copdat[,i]
copdat[1,i]
但全部失败。
如果我使用代码。
copdat[1]
copdat[2]
它可以工作,但是我想要for循环的每个元素。
我不太了解向量或Sub元素以及如何获取它们。如果您能也解释一下,将不胜感激。谢谢。
解决方法
没关系,在StackOverflow上搜索了几个小时之后,我找到了一个适合我的解决方案。稍后我将找到如何合并向量。
这是为了显示任何想要自动化工作的人。任何想要有一列搜索结果的人,都将其放在Excel工作表的第一列中,然后将其保存为.CSV文件。
使用搜索结果进行Internet自动化和网页转义,然后获取所需的相应值,而不是一遍又一遍地进行
。# Clear screen RStudio
rm(list=ls())
cat("\014")
dev.off()
#Library for keyboard and mouse automation
library(KeyboardSimulator)
#Choose Excel CSV file with first Column data
Target_Names <- read.csv(file.choose(),header=F)
#define Vectors before for Loop so as to not override them
copdat<- vector()
copdat1 <- vector()
#'copying' for Loop ----
for (i in 1:nrow(Target_Names)){
Name=as.character(Target_Names[i,1])
# Get co-ordinates of mouse on screen by running this code depending where your mouse is
mouse.get_cursor()
#Clicking on screen,surfing web etc to get data to copy ----
mouse.move(725,122,duration = 2,step_ratio = 0.01)
mouse.click(button = "left",hold = F)
writeClipboard(Name)
keybd.press('Ctrl',hold = T)
keybd.press('v')
keybd.release('ctrl')
Sys.sleep(2)
mouse.move(959,121,hold = F)
Sys.sleep(5)
mouse.move(712,58,hold = F)
Sys.sleep(2)
keybd.press('Ctrl',hold = T)
keybd.press('a')
keybd.release('ctrl')
Sys.sleep(2)
# the part of copying data
keybd.press('Ctrl',hold = T)
keybd.press('c')
keybd.release('ctrl')
Sys.sleep(2)
#Copying data to vectors described above and storing them
copdat1 <- read.delim("clipboard")
copdat<-append(copdat,copdat1)
}
#After 'copying' for loop ----
#Merge Vectors to create Data Frames etc.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。