我创建了一个生成矩阵的函数,但是我无法弄清楚如何在函数环境之外使这个函数的输出可用,所以我可以将它保存在csv文件中.
我的功能代码如下:
getTitle <- function(url) {
webpage <- readLines(url)
first.row <- webpage[1]
start <- regexpr("<title>", first.row)
end <- regexpr("</title>", first.row)
title <- substr(first.row,start+7,end-1)
return(title)
}
Run Code Online (Sandbox Code Playgroud)
getTitles <- function(pages) {
my.matrix <- matrix(NA, ncol=2, nrow=nrow(pages))
for (i in seq_along(1:nrow(pages))) {
my.matrix[i,1] <- as.character(pages[i,])
my.matrix[i,2] <- getTitle(as.character(pages[i,])) }
return(my.matrix)
print(my.matrix)}
Run Code Online (Sandbox Code Playgroud)
在http://goo.gl/D9lLZ上的示例文件上运行此函数后,我使用read.csv函数导入并命名为"mypages",我得到以下输出:
getTitles(mypages)
[,1] [,2]
[1,] "http://support.google.com/adwords/answer/1704395" "Create your first ad campaign - AdWords Help"
[2,] "http://support.google.com/adwords/answer/1704424" "How costs are calculated in AdWords - AdWords Help"
[3,] "http://support.google.com/adwords/answer/2375470" "Organizing …Run Code Online (Sandbox Code Playgroud) 我不是试图解决任何特定问题,而是试图学习R并理解其逻辑否定运算符"!" 记录在页面http://stat.ethz.ch/R-manual/R-devel/library/base/html/Logic.html
当与=结合使用时,它适用于我,例如:
1 != 2
TRUE
Run Code Online (Sandbox Code Playgroud)
但我无法理解这个运营商的独立应用.例如,我可以使用它来选择列表中没有特定名称的元素.这是我尝试这样做的,但它不起作用:
vector1 <- 1:5 # just making vector of 5 numbers
vector2 <- 5:1 # same vector backwards
list <- list(Forward=vector1, Backwards=vector2) # producing list with two elements
x = "Forward"
list[!x]
Run Code Online (Sandbox Code Playgroud)
我的输出是:
Error in !x : invalid argument type
Run Code Online (Sandbox Code Playgroud)
我会理解在这种情况下我的逻辑出错的任何提示,以及除了!= case之外该运算符的其他好用途.
谢谢!谢尔盖
我是python的新手,并尝试在Coursera数据科学课程上提交我的硬件.那里的环境是运行Python 2.7.3的VM,我试图运行的文件tweet_sentiment.py中包含以下脚本:
import sys
import json
def hw():
print 'Hello, world!'
def lines(fp):
print str(len(fp.readlines()))
def main():
sent_file = open(sys.argv[1])
tweet_file = open(sys.argv[2])
# hw()
# lines(sent_file)
# lines(tweet_file)
myfile = open(sys.argv[1], 'r')
lines = myfile.readlines()
mydict = {}
for line in lines:
key, value = line.split("\t")
mydict[key] = int(value)
twit_file = open(sys.argv[2], 'r')
twit_lines = twit_file.readlines()
mylist = []
for line in twit_lines:
mylist.append(json.loads(line))
for listik in mylist:
twit_value = 0
twit_text = listik["text"]
twit_words = twit_text.split()
for word …Run Code Online (Sandbox Code Playgroud)