小编Ser*_*sev的帖子

如何使函数在函数内部可用

我创建了一个生成矩阵的函数,但是我无法弄清楚如何在函数环境之外使这个函数的输出可用,所以我可以将它保存在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)

创建了一个函数,它接受url的向量并返回带有url和页面标题的n*2矩阵:

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 function global-variables environment-variables assign

20
推荐指数
4
解决办法
4万
查看次数

如何逻辑否定运算符"!" 作品

我不是试图解决任何特定问题,而是试图学习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之外该运算符的其他好用途.

谢谢!谢尔盖

statistics r logical-operators

10
推荐指数
3
解决办法
1万
查看次数

Python 2.7.3 IndentationError:期望一个缩进块 - 无法找到错误

我是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)

python indentation

2
推荐指数
1
解决办法
2万
查看次数